summaryrefslogtreecommitdiff
path: root/packages/libopieobex/files/obex-fixes.patch
blob: 19555594cbe5d81faf7d8d946d9c2be68a065507 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
diff --git a/obex.pro b/obex.pro
index 05118ab..2372d12 100644
--- a/obex.pro
+++ b/obex.pro
@@ -7,7 +7,7 @@ DESTDIR		= $(OPIEDIR)/plugins/obex
 INTERFACES  = obexsendbase.ui
 INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/core/launcher 
 DEPENDPATH  += 
-LIBS        += -lqpe -lopiecore2 
+LIBS        += -lqpe -lopiecore2 -lopenobex
 VERSION		= 0.0.4
 
 include( $(OPIEDIR)/include.pro )
@@ -19,6 +19,6 @@ contains( CONFTEST, y ){
 HEADERS     += btobex.h
 SOURCES     += btobex.cpp
 INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib
-LIBS        += -lopietooth1 -lbluetooth -lopenobex
+LIBS        += -lopietooth1 -lbluetooth
 DEFINES     += BLUETOOTH
 }
diff --git a/obexserver.cpp b/obexserver.cpp
index f1fb205..786e9f7 100644
--- a/obexserver.cpp
+++ b/obexserver.cpp
@@ -207,7 +207,18 @@ static void obex_conn_event (obex_t *handle, obex_object_t *object,
             /* Comes when a server-request has been received. */
             handle_request (handle, object, event, obex_cmd);
             break;
-
+	case OBEX_EV_REQDONE:
+	    switch(obex_cmd) {
+		case OBEX_CMD_PUT:
+		case OBEX_CMD_CONNECT:
+		    break;
+		case OBEX_CMD_DISCONNECT:
+		    OBEX_TransportDisconnect(handle);
+		    break;
+		default:
+		    break;
+	    }
+	    break;
         case OBEX_EV_LINKERR:
             break;
     }
@@ -424,20 +435,12 @@ bool ObexServer::start(RunMode runmode, Communication comm)
 
         if (initObex() == 0) {
             do {
-                int result; //Connection result
                 if ( fd[ 1 ] ) {
                     ::close(fd[1]);
                     fd[1] = 0;
                 }
-                if ((result = OBEX_HandleInput(m_obex, 60)) < 0) {
-                    if (errno != ECONNRESET) {
-                        printf("OBEX_HandleInput error %d\n", errno);
-                        fflush(stdout);
-                        _exit(-1);
-                    }
-                    else
-                        _exit(0);
-                }
+                if (OBEX_HandleInput(m_obex, 10) < 0)
+                    _exit(0);
             } while(1);
         }
         char resultByte = 1;