-rw-r--r-- | core/obex/btobex.cpp | 2 | ||||
-rw-r--r-- | core/obex/obex.cpp | 3 | ||||
-rw-r--r-- | core/obex/obex.h | 3 | ||||
-rw-r--r-- | core/obex/obexserver.cpp | 24 | ||||
-rw-r--r-- | core/obex/obexserver.h | 4 |
5 files changed, 21 insertions, 15 deletions
diff --git a/core/obex/btobex.cpp b/core/obex/btobex.cpp index 212a084..4e078b0 100644 --- a/core/obex/btobex.cpp +++ b/core/obex/btobex.cpp @@ -62,13 +62,13 @@ BtObex::~BtObex() { delete m_rec; delete m_send; } void BtObex::receive() { ObexBase::receive(); - m_rec = new ObexServer(); + m_rec = new ObexServer(OBEX_TRANS_BLUETOOTH); odebug << "BT OBEX do receive" << oendl; // TODO mbhaynie: No idea if this actually works -- maybe opd is better. // connect to the necessary slots connect(m_rec, SIGNAL(processExited(Opie::Core::OProcess*) ), this, SLOT(slotExited(Opie::Core::OProcess*) ) ); diff --git a/core/obex/obex.cpp b/core/obex/obex.cpp index 95c561a..e4a3c31 100644 --- a/core/obex/obex.cpp +++ b/core/obex/obex.cpp @@ -54,14 +54,13 @@ Obex::Obex( QObject *parent, const char* name ) Obex::~Obex() { delete m_rec; delete m_send; } void Obex::receive() { ObexBase::receive(); - m_rec = new OProcess(); - *m_rec << "irobex_palm3"; + m_rec = new ObexServer(OBEX_TRANS_IRDA); // connect to the necessary slots connect(m_rec, SIGNAL(processExited(Opie::Core::OProcess*) ), this, SLOT(slotExited(Opie::Core::OProcess*) ) ); connect(m_rec, SIGNAL(receivedStdout(Opie::Core::OProcess*, char*, int ) ), this, SLOT(slotStdOut(Opie::Core::OProcess*, char*, int) ) ); diff --git a/core/obex/obex.h b/core/obex/obex.h index 36ff29a..b948ce4 100644 --- a/core/obex/obex.h +++ b/core/obex/obex.h @@ -31,12 +31,13 @@ #ifndef OpieObex_H #define OpieObex_H #include "obexbase.h" #include <qobject.h> +#include "obexserver.h" namespace Opie {namespace Core {class OProcess;}} class QCopChannel; namespace OpieObex { class Obex : public ObexBase { Q_OBJECT @@ -81,13 +82,13 @@ namespace OpieObex { private: uint m_count; QString m_file; QString m_outp; Opie::Core::OProcess *m_send; - Opie::Core::OProcess *m_rec; + ObexServer* m_rec; //The OBEX server bool m_receive : 1; void shutDownReceive(); private slots: /** diff --git a/core/obex/obexserver.cpp b/core/obex/obexserver.cpp index 95196de..25d8224 100644 --- a/core/obex/obexserver.cpp +++ b/core/obex/obexserver.cpp @@ -45,15 +45,16 @@ #include <qfile.h> using namespace Opie::Core; using namespace Opie::Core::Internal; using namespace OpieObex; -ObexServer::ObexServer() : +ObexServer::ObexServer(int trans) : OProcess(tr("ObexServer"), 0, "ObexServer") { + transport = trans; m_obex = NULL; } ObexServer::~ObexServer() { stop(); @@ -326,25 +327,28 @@ errout: int ObexServer::initObex(void) { int channel = 10; //Channel on which we do listen if (m_obex) return 0; - m_obex = ::OBEX_Init(OBEX_TRANS_BLUETOOTH, obex_event, 0); + m_obex = ::OBEX_Init(transport, obex_event, 0); if (!m_obex) { printf("OBEX initialization error %d\n", errno); return -1; } - ::BtOBEX_ServerRegister(m_obex, NULL, channel); - m_session = addOpushSvc(channel, "OBEX push service"); - if (!m_session) { - printf("OBEX registration error %d\n", errno); - ::OBEX_Cleanup(m_obex); - m_obex = NULL; - return -1; - } + if (transport == OBEX_TRANS_BLUETOOTH) { + ::BtOBEX_ServerRegister(m_obex, NULL, channel); + m_session = addOpushSvc(channel, "OBEX push service"); + if (!m_session) { + printf("OBEX registration error %d\n", errno); + ::OBEX_Cleanup(m_obex); + m_obex = NULL; + return -1; + } + } else if (transport == OBEX_TRANS_IRDA) + ::IrOBEX_ServerRegister(m_obex, "OBEX"); return 0; } bool ObexServer::start(RunMode runmode, Communication comm) { if ( runs ) diff --git a/core/obex/obexserver.h b/core/obex/obexserver.h index 8567105..28577e2 100644 --- a/core/obex/obexserver.h +++ b/core/obex/obexserver.h @@ -50,17 +50,19 @@ namespace Opie { }; namespace Opie {namespace Core {class OProcess;}} namespace OpieObex { class ObexServer : public Opie::Core::OProcess { Q_OBJECT + private: + int transport; //The OBEX transport type public: /** * ObexServer constructor */ - ObexServer(); + ObexServer(int trans); /** * */ ~ObexServer(); //Function starts the server process virtual bool start( RunMode runmode = NotifyOnExit, |