summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/obex/btobex.cpp2
-rw-r--r--core/obex/obex.cpp3
-rw-r--r--core/obex/obex.h3
-rw-r--r--core/obex/obexserver.cpp24
-rw-r--r--core/obex/obexserver.h4
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
@@ -67,3 +67,3 @@ void BtObex::receive() {
ObexBase::receive();
- m_rec = new ObexServer();
+ m_rec = new ObexServer(OBEX_TRANS_BLUETOOTH);
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
@@ -59,4 +59,3 @@ 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
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
@@ -36,2 +36,3 @@
#include <qobject.h>
+#include "obexserver.h"
@@ -86,3 +87,3 @@ namespace OpieObex {
Opie::Core::OProcess *m_send;
- Opie::Core::OProcess *m_rec;
+ ObexServer* m_rec; //The OBEX server
bool m_receive : 1;
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
@@ -50,5 +50,6 @@ using namespace OpieObex;
-ObexServer::ObexServer() :
+ObexServer::ObexServer(int trans) :
OProcess(tr("ObexServer"), 0, "ObexServer")
{
+ transport = trans;
m_obex = NULL;
@@ -331,3 +332,3 @@ int ObexServer::initObex(void)
return 0;
- m_obex = ::OBEX_Init(OBEX_TRANS_BLUETOOTH, obex_event, 0);
+ m_obex = ::OBEX_Init(transport, obex_event, 0);
if (!m_obex) {
@@ -336,10 +337,13 @@ int ObexServer::initObex(void)
}
- ::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;
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
@@ -55,2 +55,4 @@ namespace OpieObex {
Q_OBJECT
+ private:
+ int transport; //The OBEX transport type
public:
@@ -59,3 +61,3 @@ namespace OpieObex {
*/
- ObexServer();
+ ObexServer(int trans);
/**