-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 @@ -64,9 +64,9 @@ BtObex::~BtObex() { } 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 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 @@ -56,10 +56,9 @@ Obex::~Obex() { 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*) ) ); 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 @@ -33,8 +33,9 @@ #define OpieObex_H #include "obexbase.h" #include <qobject.h> +#include "obexserver.h" namespace Opie {namespace Core {class OProcess;}} class QCopChannel; namespace OpieObex { @@ -83,9 +84,9 @@ namespace OpieObex { 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 @@ -47,11 +47,12 @@ 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() @@ -328,21 +329,24 @@ 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) 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 @@ -52,13 +52,15 @@ 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(); |