summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bluetooth/bluetooth.pro9
-rw-r--r--src/bluetooth/qbluetoothlocaldevice_bluez.cpp250
-rw-r--r--src/bluetooth/qbluetoothlocaldevice_p.h45
-rw-r--r--src/bluetooth/qbluetoothserviceinfo_bluez.cpp7
-rw-r--r--src/bluetooth/qbluetoothsocket_bluez.cpp87
-rw-r--r--src/bluetooth/qbluetoothsocket_p.h9
-rw-r--r--src/bluetooth/qbluetoothtransferreply_bluez.cpp128
-rw-r--r--src/bluetooth/qbluetoothtransferreply_bluez_p.h32
-rw-r--r--src/bluetooth/ql2capserver_bluez.cpp4
-rw-r--r--src/bluetooth/qrfcommserver_bluez.cpp27
10 files changed, 0 insertions, 598 deletions
diff --git a/src/bluetooth/bluetooth.pro b/src/bluetooth/bluetooth.pro
index c838fec7..48bd05f7 100644
--- a/src/bluetooth/bluetooth.pro
+++ b/src/bluetooth/bluetooth.pro
@@ -78,15 +78,6 @@ config_bluez:contains(QT_CONFIG, dbus) {
qbluetoothtransfermanager_bluez.cpp \
ql2capserver_bluez.cpp
- contains(DEFINES,NOKIA_BT_SERVICES) {
- message("Enabling Nokia BT services")
- QT += serviceframework
- }
- contains(DEFINES,NOKIA_BT_PATCHES) {
- message("Enabling Nokia BT patches")
- LIBS += -lbluetooth
- }
-
} else {
message("Unsupported bluetooth platform, will not build a working QBluetooth library")
message("Either no Qt dBus found or no Bluez headers")
diff --git a/src/bluetooth/qbluetoothlocaldevice_bluez.cpp b/src/bluetooth/qbluetoothlocaldevice_bluez.cpp
index d7e456ec..e42fb97c 100644
--- a/src/bluetooth/qbluetoothlocaldevice_bluez.cpp
+++ b/src/bluetooth/qbluetoothlocaldevice_bluez.cpp
@@ -93,21 +93,14 @@ QBluetoothAddress QBluetoothLocalDevice::address() const
void QBluetoothLocalDevice::powerOn()
{
-#ifdef NOKIA_BT_SERVICES
- nokiaBtManServiceInstance()->setPowered(true);
-#else
if (!d_ptr || !d_ptr->adapter)
return;
d_ptr->adapter->SetProperty(QLatin1String("Powered"), QDBusVariant(QVariant::fromValue(true)));
-#endif
}
void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)
{
-#ifdef NOKIA_BT_SERVICES
- nokiaBtManServiceInstance()->setHostMode(mode);
-#else
if (!d_ptr || !d_ptr->adapter)
return;
@@ -130,7 +123,6 @@ void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)
// QDBusVariant(QVariant::fromValue(false)));
break;
}
-#endif
}
QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const
@@ -249,9 +241,6 @@ void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, Pai
Q_ARG(QBluetoothLocalDevice::Pairing, QBluetoothLocalDevice::Paired));
}
else {
-#ifdef NOKIA_BT_SERVICES
- nokiaBtManServiceInstance()->requestPairing(address);
-#else
QDBusPendingReply<QDBusObjectPath> reply =
d_ptr->adapter->CreatePairedDevice(address.toString(),
QDBusObjectPath(d_ptr->agent_path),
@@ -262,7 +251,6 @@ void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, Pai
if(reply.isError())
qDebug() << Q_FUNC_INFO << reply.error() << d_ptr->agent_path;
-#endif
}
}
else if(pairing == Unpaired) {
@@ -311,13 +299,7 @@ QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluet
QBluetoothLocalDevicePrivate::QBluetoothLocalDevicePrivate(QBluetoothLocalDevice *q, QBluetoothAddress address)
: adapter(0), agent(0), localAddress(address), msgConnection(0), q_ptr(q)
{
-#ifndef NOKIA_BT_SERVICES
initializeAdapter();
-#else
- connect(nokiaBtManServiceInstance(), SIGNAL(poweredChanged(bool)), SLOT(powerStateChanged(bool)));
- connect(nokiaBtManServiceInstance(), SIGNAL(pairingCompleted(bool)), SLOT(pairingCompleted(bool)));
- nokiaBtManServiceInstance()->acquire();
-#endif
}
QBluetoothLocalDevicePrivate::~QBluetoothLocalDevicePrivate()
@@ -325,10 +307,6 @@ QBluetoothLocalDevicePrivate::~QBluetoothLocalDevicePrivate()
delete msgConnection;
delete adapter;
delete agent;
-
-#ifdef NOKIA_BT_SERVICES
- nokiaBtManServiceInstance()->release();
-#endif
}
void QBluetoothLocalDevicePrivate::initializeAdapter()
@@ -382,44 +360,6 @@ void QBluetoothLocalDevicePrivate::initializeAdapter()
}
}
-#ifdef NOKIA_BT_SERVICES
-void QBluetoothLocalDevicePrivate::powerStateChanged(bool powered)
-{
- Q_Q(QBluetoothLocalDevice);
- QBluetoothLocalDevice::HostMode mode;
-
- if (powered) {
- initializeAdapter();
-
- QDBusPendingReply<QVariantMap> reply = adapter->GetProperties();
- reply.waitForFinished();
- if (reply.isError()){
- qWarning() << "Failed to get bluetooth properties";
- return;
- }
-
- if (reply.value().value(QLatin1String("Discoverable")).toBool()) {
- mode = QBluetoothLocalDevice::HostDiscoverable;
- } else {
- mode = QBluetoothLocalDevice::HostConnectable;
- }
- } else {
- mode = QBluetoothLocalDevice::HostPoweredOff;
- delete msgConnection;
- msgConnection = 0;
- delete adapter;
- adapter = 0;
- delete agent;
- agent = 0;
- }
-
- if (mode != currentMode) {
- emit q->hostModeStateChanged(mode);
- currentMode = mode;
- }
-}
-#endif
-
void QBluetoothLocalDevicePrivate::RequestConfirmation(const QDBusObjectPath &in0, uint in1)
{
Q_UNUSED(in0);
@@ -500,38 +440,6 @@ void QBluetoothLocalDevicePrivate::pairingCompleted(QDBusPendingCallWatcher *wat
}
-#ifdef NOKIA_BT_SERVICES
-void QBluetoothLocalDevicePrivate::pairingCompleted(bool success)
-{
- Q_Q(QBluetoothLocalDevice);
-
- if (!success) {
- qDebug() << Q_FUNC_INFO << "failed to create pairing";
- emit q->pairingFinished(address, QBluetoothLocalDevice::Unpaired);
- return;
- }
-
- QDBusPendingReply<QDBusObjectPath> findReply = adapter->FindDevice(address.toString());
- findReply.waitForFinished();
- if (findReply.isError()) {
- qDebug() << Q_FUNC_INFO << "failed to find device" << findReply.error();
- emit q->pairingFinished(address, QBluetoothLocalDevice::Unpaired);
- return;
- }
-
- OrgBluezDeviceInterface device(QLatin1String("org.bluez"), findReply.value().path(),
- QDBusConnection::systemBus());
-
- if (pairing == QBluetoothLocalDevice::AuthorizedPaired) {
- device.SetProperty(QLatin1String("Trusted"), QDBusVariant(QVariant(true)));
- emit q->pairingFinished(address, QBluetoothLocalDevice::AuthorizedPaired);
- } else {
- device.SetProperty(QLatin1String("Trusted"), QDBusVariant(QVariant(false)));
- emit q->pairingFinished(address, QBluetoothLocalDevice::Paired);
- }
-}
-#endif
-
void QBluetoothLocalDevicePrivate::Authorize(const QDBusObjectPath &in0, const QString &in1)
{
qDebug() << "Got authorize for" << in0.path() << in1;
@@ -602,164 +510,6 @@ void QBluetoothLocalDevicePrivate::PropertyChanged(QString property, QDBusVarian
currentMode = mode;
}
-
-#ifdef NOKIA_BT_SERVICES
-
-NokiaBtManServiceConnection::NokiaBtManServiceConnection():
- m_btmanService(NULL),
- m_refCount(0)
-{
-}
-
-void NokiaBtManServiceConnection::acquire()
-{
- QMutexLocker m(&m_refCountMutex);
- ++m_refCount;
- if (m_btmanService == NULL) {
- connectToBtManService();
- }
-}
-
-void NokiaBtManServiceConnection::release()
-{
- QMutexLocker m(&m_refCountMutex);
- --m_refCount;
- if (m_refCount == 0) {
- QTimer::singleShot(5000, this, SLOT(disconnectFromBtManService()));
- }
-}
-
-void NokiaBtManServiceConnection::connectToBtManService()
-{
- if (m_btmanService == NULL) {
- QServiceManager manager;
- QServiceFilter filter(QLatin1String("com.nokia.mt.btmanservice"));
-
- // find services complying with filter
- QList<QServiceInterfaceDescriptor> foundServices;
- foundServices = manager.findInterfaces(filter);
-
- if (foundServices.count()) {
- m_btmanService = manager.loadInterface(foundServices.at(0));
- }
- if (m_btmanService) {
- qDebug() << "connected to service:" << m_btmanService;
- connect(m_btmanService, SIGNAL(errorUnrecoverableIPCFault(QService::UnrecoverableIPCError)), SLOT(sfwIPCError(QService::UnrecoverableIPCError)));
- connect(m_btmanService, SIGNAL(powerStateChanged(int)), SLOT(powerStateChanged(int)));
- connect(m_btmanService, SIGNAL(pairingFinished(QString,int,int)), SLOT(pairingFinished(QString,int,int)));
- if (powered()) {
- emit poweredChanged(true);
- }
- } else {
- qDebug() << "failed to connect to btman service";
- }
- } else {
- qDebug() << "already connected to service:" << m_btmanService;
- }
-}
-
-void NokiaBtManServiceConnection::disconnectFromBtManService()
-{
- // Check if none acquired the service in the meantime
- QMutexLocker m(&m_refCountMutex);
- if (m_refCount == 0 && m_btmanService) {
- qDebug() << "disconnecting from btman service";
- m_btmanService->deleteLater();
- m_btmanService = NULL;
- }
-}
-
-bool NokiaBtManServiceConnection::powered() const
-{
- int powerState;
- QMetaObject::invokeMethod(m_btmanService, "powerState", Q_RETURN_ARG(int, powerState));
- return powerState == 2; // enabled
-}
-
-void NokiaBtManServiceConnection::setPowered(bool powered)
-{
- if (powered) {
- QMetaObject::invokeMethod(m_btmanService, "acquireTemporaryPower");
- } else {
- QMetaObject::invokeMethod(m_btmanService, "releaseTemporaryPower");
- }
-}
-
-void NokiaBtManServiceConnection::setHostMode(QBluetoothLocalDevice::HostMode mode)
-{
- m_forceDiscoverable = false;
- m_forceConnectable = false;
-
- switch (mode) {
- case QBluetoothLocalDevice::HostDiscoverableLimitedInquiry:
- case QBluetoothLocalDevice::HostDiscoverable:
- if (powered()) {
- QMetaObject::invokeMethod(m_btmanService, "setDiscoverable", Q_ARG(bool, true));
- } else {
- m_forceDiscoverable = true;
- setPowered(true);
- }
- break;
- case QBluetoothLocalDevice::HostConnectable:
- if (powered()) {
- QMetaObject::invokeMethod(m_btmanService, "setDiscoverable", Q_ARG(bool, false));
- } else {
- m_forceConnectable = true;
- setPowered(true);
- }
- break;
- case QBluetoothLocalDevice::HostPoweredOff:
- if (powered()) {
- setPowered(false);
- }
- break;
- }
-}
-
-void NokiaBtManServiceConnection::powerStateChanged(int powerState)
-{
- if (powerState == 0) {
- emit poweredChanged(false);
- } else if (powerState == 2) {
- if (m_forceDiscoverable) {
- m_forceDiscoverable = false;
- QMetaObject::invokeMethod(m_btmanService, "setDiscoverable", Q_ARG(bool, true));
- } else if (m_forceConnectable) {
- m_forceConnectable = false;
- QMetaObject::invokeMethod(m_btmanService, "setDiscoverable", Q_ARG(bool, false));
- }
- emit poweredChanged(true);
- }
-}
-
-void NokiaBtManServiceConnection::requestPairing(const QBluetoothAddress &address)
-{
- m_pairingAddress = address.toString();
- QMetaObject::invokeMethod(m_btmanService, "requestPairing", Q_ARG(QString, m_pairingAddress), Q_ARG(bool, false));
-}
-
-void NokiaBtManServiceConnection::pairingFinished(const QString& address, int direction, int status)
-{
- // DirectionOutgoing = 0
- if (m_pairingAddress != address || direction != 0) return;
- m_pairingAddress.clear();
-
- // StatusSuccess = 0
- emit pairingCompleted(status == 0);
-}
-
-void NokiaBtManServiceConnection::sfwIPCError(QService::UnrecoverableIPCError error)
-{
- qDebug() << "Connection to btman service broken:" << error << ". Trying to reconnect...";
- if (m_btmanService) {
- m_btmanService->deleteLater();
- m_btmanService = NULL;
- }
- QMetaObject::invokeMethod(this, "connectToBtManService", Qt::QueuedConnection);
-}
-
-#endif
-
//#include "qbluetoothlocaldevice.moc"
#include "moc_qbluetoothlocaldevice_p.cpp"
diff --git a/src/bluetooth/qbluetoothlocaldevice_p.h b/src/bluetooth/qbluetoothlocaldevice_p.h
index 97ac07c6..c5f6be17 100644
--- a/src/bluetooth/qbluetoothlocaldevice_p.h
+++ b/src/bluetooth/qbluetoothlocaldevice_p.h
@@ -59,10 +59,6 @@ QT_BEGIN_NAMESPACE
class QDBusPendingCallWatcher;
QT_END_NAMESPACE
-#ifdef NOKIA_BT_SERVICES
-#include <QtServiceFramework/QServiceManager>
-#include <QtCore/QMutex>
-#endif
#endif
QT_BEGIN_HEADER
@@ -104,11 +100,6 @@ public Q_SLOTS: // METHODS
void PropertyChanged(QString,QDBusVariant);
-#ifdef NOKIA_BT_SERVICES
- void powerStateChanged(bool powered);
- void pairingCompleted(bool success);
-#endif
-
private:
QDBusMessage msgConfirmation;
QDBusConnection *msgConnection;
@@ -118,42 +109,6 @@ private:
void initializeAdapter();
};
-#ifdef NOKIA_BT_SERVICES
-class NokiaBtManServiceConnection: public QObject
-{
- Q_OBJECT
-
-public:
- NokiaBtManServiceConnection();
- void acquire();
- void release();
- void setPowered(bool powered);
- bool powered() const;
- void setHostMode(QBluetoothLocalDevice::HostMode mode);
- void requestPairing(const QBluetoothAddress &address);
-
-signals:
- void poweredChanged(bool powered);
- void pairingCompleted(bool success);
-
-private:
- QObject *m_btmanService;
- int m_refCount;
- QMutex m_refCountMutex;
- bool m_forceDiscoverable;
- bool m_forceConnectable;
- QString m_pairingAddress;
-
-private slots:
- void connectToBtManService();
- void disconnectFromBtManService();
- void sfwIPCError(QService::UnrecoverableIPCError);
- void powerStateChanged(int powerState);
- void pairingFinished(const QString &address, int direction, int status);
-};
-Q_GLOBAL_STATIC(NokiaBtManServiceConnection, nokiaBtManServiceInstance)
-#endif
-
#else
class QBluetoothLocalDevicePrivate : public QObject
{
diff --git a/src/bluetooth/qbluetoothserviceinfo_bluez.cpp b/src/bluetooth/qbluetoothserviceinfo_bluez.cpp
index 9a422f56..661142a7 100644
--- a/src/bluetooth/qbluetoothserviceinfo_bluez.cpp
+++ b/src/bluetooth/qbluetoothserviceinfo_bluez.cpp
@@ -289,19 +289,12 @@ bool QBluetoothServiceInfoPrivate::registerService() const
serviceRecord = reply.value();
} else {
-#ifndef NOKIA_BT_PATCHES
QDBusPendingReply<> reply = service->UpdateRecord(serviceRecord, xmlServiceRecord);
-#else
- QDBusPendingReply<uint> reply = service->UpdateRecord(serviceRecord, xmlServiceRecord);
-#endif
reply.waitForFinished();
if (reply.isError()) {
qDebug() << "UpdateRecord returned error" << reply.error();
return false;
}
-#ifdef NOKIA_BT_PATCHES
- serviceRecord = reply.value();
-#endif
}
registered = true;
diff --git a/src/bluetooth/qbluetoothsocket_bluez.cpp b/src/bluetooth/qbluetoothsocket_bluez.cpp
index 024a40e6..f15d5425 100644
--- a/src/bluetooth/qbluetoothsocket_bluez.cpp
+++ b/src/bluetooth/qbluetoothsocket_bluez.cpp
@@ -58,12 +58,6 @@
#include <QtCore/QSocketNotifier>
-#ifdef NOKIA_BT_PATCHES
-extern "C" {
-#include <bluetooth/brcm-rfcomm.h>
-}
-#endif
-
QTBLUETOOTH_BEGIN_NAMESPACE
QBluetoothSocketPrivate::QBluetoothSocketPrivate()
@@ -75,9 +69,6 @@ QBluetoothSocketPrivate::QBluetoothSocketPrivate()
connecting(false),
discoveryAgent(0)
{
-#ifdef NOKIA_BT_PATCHES
- brcm_rfcomm_init();
-#endif
}
QBluetoothSocketPrivate::~QBluetoothSocketPrivate()
@@ -86,10 +77,6 @@ QBluetoothSocketPrivate::~QBluetoothSocketPrivate()
readNotifier = 0;
delete connectWriteNotifier;
connectWriteNotifier = 0;
-
-#ifdef NOKIA_BT_PATCHES
- brcm_rfcomm_exit();
-#endif
}
bool QBluetoothSocketPrivate::ensureNativeSocket(QBluetoothSocket::SocketType type)
@@ -109,18 +96,10 @@ bool QBluetoothSocketPrivate::ensureNativeSocket(QBluetoothSocket::SocketType ty
switch (type) {
case QBluetoothSocket::L2capSocket:
-#ifndef NOKIA_BT_PATCHES
socket = ::socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
-#else
- socket = -1; // Raw L2cap sockets not supported
-#endif
break;
case QBluetoothSocket::RfcommSocket:
-#ifndef NOKIA_BT_PATCHES
socket = ::socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
-#else
- socket = brcm_rfcomm_socket();
-#endif
break;
default:
socket = -1;
@@ -163,19 +142,8 @@ void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address,
connectWriteNotifier->setEnabled(true);
readNotifier->setEnabled(true);QString();
-#ifndef NOKIA_BT_PATCHES
result = ::connect(socket, (sockaddr *)&addr, sizeof(addr));
-#else
- brcm_rfcomm_socket_bind(socket, (sockaddr*)&addr, sizeof(addr));
- result = brcm_rfcomm_socket_connect(socket, (sockaddr *)&addr, sizeof(addr));
- qDebug() << "BRCM: connect result:" << result;
-#endif
} else if (socketType == QBluetoothSocket::L2capSocket) {
-#ifndef NOKIA_BT_PATCHES
- errorString = QString::fromLocal8Bit("Raw L2Cap sockets are not supported on this platform");
- q->setSocketError(QBluetoothSocket::UnknownSocketError);
- return;
-#endif
sockaddr_l2 addr;
memset(&addr, 0, sizeof(addr));
@@ -205,11 +173,7 @@ void QBluetoothSocketPrivate::_q_writeNotify()
if(connecting && state == QBluetoothSocket::ConnectingState){
int errorno, len;
len = sizeof(errorno);
-#ifndef NOKIA_BT_PATCHES
::getsockopt(socket, SOL_SOCKET, SO_ERROR, &errorno, (socklen_t*)&len);
-#else
- brcm_rfcomm_socket_getsockopt(socket, SOL_SOCKET, SO_ERROR, &errorno, (socklen_t*)&len);
-#endif
if(errorno) {
errorString = QString::fromLocal8Bit(strerror(errorno));
emit q->error(QBluetoothSocket::UnknownSocketError);
@@ -233,11 +197,7 @@ void QBluetoothSocketPrivate::_q_writeNotify()
int size = txBuffer.read(buf, 1024);
-#ifndef NOKIA_BT_PATCHES
if (::write(socket, buf, size) != size) {
-#else
- if (brcm_rfcomm_socket_write(socket, buf, size) != size) {
-#endif
socketError = QBluetoothSocket::NetworkError;
emit q->error(socketError);
}
@@ -262,11 +222,7 @@ void QBluetoothSocketPrivate::_q_readNotify()
Q_Q(QBluetoothSocket);
char *writePointer = buffer.reserve(QPRIVATELINEARBUFFER_BUFFERSIZE);
// qint64 readFromDevice = q->readData(writePointer, QPRIVATELINEARBUFFER_BUFFERSIZE);
-#ifndef NOKIA_BT_PATCHES
int readFromDevice = ::read(socket, writePointer, QPRIVATELINEARBUFFER_BUFFERSIZE);
-#else
- int readFromDevice = brcm_rfcomm_socket_read(socket, writePointer, QPRIVATELINEARBUFFER_BUFFERSIZE);
-#endif
if(readFromDevice <= 0){
int errsv = errno;
readNotifier->setEnabled(false);
@@ -340,19 +296,12 @@ QBluetoothAddress QBluetoothSocketPrivate::localAddress() const
sockaddr_rc addr;
socklen_t addrLength = sizeof(addr);
-#ifndef NOKIA_BT_PATCHES
if (::getsockname(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0) {
-#else
- if (brcm_rfcomm_socket_getsockname(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0) {
-#endif
quint64 bdaddr;
convertAddress(addr.rc_bdaddr.b, bdaddr);
return QBluetoothAddress(bdaddr);
}
} else if (socketType == QBluetoothSocket::L2capSocket) {
-#ifndef NOKIA_BT_PATCHES
- return QBluetoothAddress(); // Raw L2cap sockets not supported
-#endif
sockaddr_l2 addr;
socklen_t addrLength = sizeof(addr);
@@ -372,16 +321,9 @@ quint16 QBluetoothSocketPrivate::localPort() const
sockaddr_rc addr;
socklen_t addrLength = sizeof(addr);
-#ifndef NOKIA_BT_PATCHES
if (::getsockname(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0)
-#else
- if (brcm_rfcomm_socket_getsockname(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0)
-#endif
return addr.rc_channel;
} else if (socketType == QBluetoothSocket::L2capSocket) {
-#ifdef NOKIA_BT_PATCHES
- return 0; // Raw L2cap sockets not supported
-#endif
sockaddr_l2 addr;
socklen_t addrLength = sizeof(addr);
@@ -403,18 +345,11 @@ QString QBluetoothSocketPrivate::peerName() const
sockaddr_rc addr;
socklen_t addrLength = sizeof(addr);
-#ifndef NOKIA_BT_PATCHES
if (::getpeername(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) < 0)
-#else
- if (brcm_rfcomm_socket_getpeername(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) < 0)
-#endif
return QString();
convertAddress(addr.rc_bdaddr.b, bdaddr);
} else if (socketType == QBluetoothSocket::L2capSocket) {
-#ifdef NOKIA_BT_PATCHES
- return QString(); // Raw L2cap sockets not supported
-#endif
sockaddr_l2 addr;
socklen_t addrLength = sizeof(addr);
@@ -471,19 +406,12 @@ QBluetoothAddress QBluetoothSocketPrivate::peerAddress() const
sockaddr_rc addr;
socklen_t addrLength = sizeof(addr);
-#ifndef NOKIA_BT_PATCHES
if (::getpeername(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0) {
-#else
- if (brcm_rfcomm_socket_getpeername(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0) {
-#endif
quint64 bdaddr;
convertAddress(addr.rc_bdaddr.b, bdaddr);
return QBluetoothAddress(bdaddr);
}
} else if (socketType == QBluetoothSocket::L2capSocket) {
-#ifdef NOKIA_BT_PATCHES
- return QBluetoothAddress(); // Raw L2cap sockets not supported
-#endif
sockaddr_l2 addr;
socklen_t addrLength = sizeof(addr);
@@ -503,16 +431,9 @@ quint16 QBluetoothSocketPrivate::peerPort() const
sockaddr_rc addr;
socklen_t addrLength = sizeof(addr);
-#ifndef NOKIA_BT_PATCHES
if (::getpeername(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0)
-#else
- if (brcm_rfcomm_socket_getpeername(socket, reinterpret_cast<sockaddr *>(&addr), &addrLength) == 0)
-#endif
return addr.rc_channel;
} else if (socketType == QBluetoothSocket::L2capSocket) {
-#ifdef NOKIA_BT_PATCHES
- return 0; // Raw L2cap sockets not supported
-#endif
sockaddr_l2 addr;
socklen_t addrLength = sizeof(addr);
@@ -527,11 +448,7 @@ qint64 QBluetoothSocketPrivate::writeData(const char *data, qint64 maxSize)
{
Q_Q(QBluetoothSocket);
if (q->openMode() & QIODevice::Unbuffered) {
-#ifndef NOKIA_BT_PATCHES
if (::write(socket, data, maxSize) != maxSize) {
-#else
- if (brcm_rfcomm_socket_write(socket, (void*)data, maxSize) != maxSize) {
-#endif
socketError = QBluetoothSocket::NetworkError;
emit q->error(socketError);
}
@@ -589,11 +506,7 @@ void QBluetoothSocketPrivate::close()
// We are disconnected now, so go to unconnected.
q->setSocketState(QBluetoothSocket::UnconnectedState);
emit q->disconnected();
-#ifndef NOKIA_BT_PATCHES
::close(socket);
-#else
- brcm_rfcomm_socket_close(socket);
-#endif
}
}
diff --git a/src/bluetooth/qbluetoothsocket_p.h b/src/bluetooth/qbluetoothsocket_p.h
index 4769c080..7058a0b6 100644
--- a/src/bluetooth/qbluetoothsocket_p.h
+++ b/src/bluetooth/qbluetoothsocket_p.h
@@ -144,21 +144,12 @@ private:
static inline void convertAddress(quint64 from, quint8 (&to)[6])
{
-#ifndef NOKIA_BT_PATCHES
to[0] = (from >> 0) & 0xff;
to[1] = (from >> 8) & 0xff;
to[2] = (from >> 16) & 0xff;
to[3] = (from >> 24) & 0xff;
to[4] = (from >> 32) & 0xff;
to[5] = (from >> 40) & 0xff;
-#else
- to[5] = (from >> 0) & 0xff;
- to[4] = (from >> 8) & 0xff;
- to[3] = (from >> 16) & 0xff;
- to[2] = (from >> 24) & 0xff;
- to[1] = (from >> 32) & 0xff;
- to[0] = (from >> 40) & 0xff;
-#endif
}
static inline void convertAddress(quint8 (&from)[6], quint64 &to)
diff --git a/src/bluetooth/qbluetoothtransferreply_bluez.cpp b/src/bluetooth/qbluetoothtransferreply_bluez.cpp
index 7fffc481..3369c460 100644
--- a/src/bluetooth/qbluetoothtransferreply_bluez.cpp
+++ b/src/bluetooth/qbluetoothtransferreply_bluez.cpp
@@ -78,10 +78,6 @@ QBluetoothTransferReplyBluez::QBluetoothTransferReplyBluez(QIODevice *input, QOb
// res = QDBusConnection::sessionBus().registerService("org.qt.bt");
if(!res)
qDebug() << "Failed Creating dbus objects";
-
-#ifdef NOKIA_BT_SERVICES
- nokiaBtServiceInstance()->acquire();
-#endif
}
/*!
@@ -172,14 +168,6 @@ void QBluetoothTransferReplyBluez::sendReturned(QDBusPendingCallWatcher *watcher
else
m_error = QBluetoothTransferReply::UnknownError;
-#ifdef NOKIA_BT_SERVICES
- // Inform the service daemon that an outgoing transfer has failed (use a fake transfer ID as there is no real one yet)
- QFile *file = qobject_cast<QFile *>(source);
- QString tempId = QUuid::createUuid().toString();
- nokiaBtServiceInstance()->outgoingFile("/transfer" + tempId, address.toString(), file->fileName(), QBluetoothTransferReply::attribute(QBluetoothTransferRequest::TypeAttribute).toString(), m_size);
- nokiaBtServiceInstance()->setTransferFinished("/transfer" + tempId, false);
-#endif
-
// allow time for the developer to connect to the signal
QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection, Q_ARG(QBluetoothTransferReply*, this));
}
@@ -201,10 +189,6 @@ void QBluetoothTransferReplyBluez::Complete(const QDBusObjectPath &in0)
m_transfer_path.clear();
m_finished = true;
m_running = false;
-
-#ifdef NOKIA_BT_SERVICES
- nokiaBtServiceInstance()->setTransferFinished(in0.path(), true);
-#endif
}
void QBluetoothTransferReplyBluez::Error(const QDBusObjectPath &in0, const QString &in1)
@@ -220,20 +204,12 @@ void QBluetoothTransferReplyBluez::Error(const QDBusObjectPath &in0, const QStri
m_error = QBluetoothTransferReply::UnknownError;
emit finished(this);
-
-#ifdef NOKIA_BT_SERVICES
- nokiaBtServiceInstance()->setTransferFinished(in0.path(), false);
-#endif
}
void QBluetoothTransferReplyBluez::Progress(const QDBusObjectPath &in0, qulonglong in1)
{
Q_UNUSED(in0);
emit uploadProgress(in1, m_size);
-
-#ifdef NOKIA_BT_SERVICES
- nokiaBtServiceInstance()->setTranferProgress(in0.path(), in1, m_size);
-#endif
}
void QBluetoothTransferReplyBluez::Release()
@@ -246,14 +222,7 @@ QString QBluetoothTransferReplyBluez::Request(const QDBusObjectPath &in0)
{
m_transfer_path = in0.path();
-#ifdef NOKIA_BT_SERVICES
- QFile *file = qobject_cast<QFile *>(source);
- nokiaBtServiceInstance()->outgoingFile(m_transfer_path, address.toString(), file->fileName(), QBluetoothTransferReply::attribute(QBluetoothTransferRequest::TypeAttribute).toString(), m_size);
- nokiaBtServiceInstance()->setTransferStarted(m_transfer_path);
-#endif
-
return QString();
-
}
/*!
@@ -283,11 +252,6 @@ void QBluetoothTransferReplyBluez::abort()
qDebug() << "Failed to abort transfer" << reply.error();
}
delete xfer;
-
-#ifdef NOKIA_BT_SERVICES
- nokiaBtServiceInstance()->setTransferFinished(m_transfer_path, false);
-#endif
-
}
}
@@ -306,98 +270,6 @@ qint64 QBluetoothTransferReplyBluez::writeData(const char*, qint64)
return 0;
}
-
-#ifdef NOKIA_BT_SERVICES
-
-NokiaBtServiceConnection::NokiaBtServiceConnection():
- m_obexService(NULL),
- m_refCount(0)
-{
-}
-
-void NokiaBtServiceConnection::acquire()
-{
- QMutexLocker m(&m_refCountMutex);
- ++m_refCount;
- if (m_obexService == NULL) {
- connectToObexServerService();
- }
-}
-
-void NokiaBtServiceConnection::release()
-{
- QMutexLocker m(&m_refCountMutex);
- --m_refCount;
- if (m_refCount == 0) {
- QTimer::singleShot(5000, this, SLOT(disconnectFromObexServerService()));
- }
-}
-
-void NokiaBtServiceConnection::disconnectFromObexServerService()
-{
- // Check if noone acquired the service in the meantime
- QMutexLocker m(&m_refCountMutex);
- if (m_refCount == 0 && m_obexService != NULL) {
- m_obexService->deleteLater();
- m_obexService = NULL;
- }
-}
-
-void NokiaBtServiceConnection::connectToObexServerService()
-{
- if (m_obexService == NULL) {
- QServiceManager manager;
- QServiceFilter filter(QLatin1String("com.nokia.mt.obexserverservice.control"));
- // filter.setServiceName("ObexServerServiceControl");
-
- // find services complying with filter
- QList<QServiceInterfaceDescriptor> foundServices;
- foundServices = manager.findInterfaces(filter);
-
- if (foundServices.count()) {
- m_obexService = manager.loadInterface(foundServices.at(0));
- }
- if (m_obexService) {
- qDebug() << "connected to service:" << m_obexService;
- connect(m_obexService, SIGNAL(errorUnrecoverableIPCFault(QService::UnrecoverableIPCError)), SLOT(sfwIPCError(QService::UnrecoverableIPCError)));
- } else {
- qDebug() << "failed to connect to Obex server service";
- }
- } else {
- qDebug() << "already connected to service:" << m_obexService;
- }
-}
-
-void NokiaBtServiceConnection::sfwIPCError(QService::UnrecoverableIPCError error)
-{
- qDebug() << "Connection to Obex server broken:" << error << ". Trying to reconnect...";
- m_obexService->deleteLater();
- m_obexService = NULL;
- QMetaObject::invokeMethod(this, "connectToObexServerService", Qt::QueuedConnection);
-}
-
-void NokiaBtServiceConnection::outgoingFile(const QString &transferId, const QString &remoteDevice, const QString &fileName, const QString &mimeType, quint64 size)
-{
- QMetaObject::invokeMethod(m_obexService, "outgoingFile", Q_ARG(QString, transferId), Q_ARG(QString, remoteDevice), Q_ARG(QString, fileName), Q_ARG(QString, mimeType), Q_ARG(quint64, size));
-}
-
-void NokiaBtServiceConnection::setTransferStarted(const QString &transferId)
-{
- QMetaObject::invokeMethod(m_obexService, "setTransferStarted", Q_ARG(QString, transferId));
-}
-
-void NokiaBtServiceConnection::setTransferFinished(const QString &transferId, bool success)
-{
- QMetaObject::invokeMethod(m_obexService, "setTransferFinished", Q_ARG(QString, transferId), Q_ARG(bool, success));
-}
-
-void NokiaBtServiceConnection::setTranferProgress(const QString &transferId, quint64 progress, quint64 total)
-{
- QMetaObject::invokeMethod(m_obexService, "setTransferProgress", Q_ARG(QString, transferId), Q_ARG(quint64, progress), Q_ARG(quint64, total));
-}
-
-#endif
-
#include "moc_qbluetoothtransferreply_bluez_p.cpp"
QTBLUETOOTH_END_NAMESPACE
diff --git a/src/bluetooth/qbluetoothtransferreply_bluez_p.h b/src/bluetooth/qbluetoothtransferreply_bluez_p.h
index 65987a00..d2ec509c 100644
--- a/src/bluetooth/qbluetoothtransferreply_bluez_p.h
+++ b/src/bluetooth/qbluetoothtransferreply_bluez_p.h
@@ -50,10 +50,6 @@
#include "qbluetoothtransferreply.h"
-#ifdef NOKIA_BT_SERVICES
-#include <QtServiceFramework/QServiceManager>
-#endif
-
QT_BEGIN_HEADER
class OrgOpenobexClientInterface;
@@ -125,34 +121,6 @@ public slots:
};
-#ifdef NOKIA_BT_SERVICES
-class NokiaBtServiceConnection: public QObject
-{
- Q_OBJECT
-public:
- NokiaBtServiceConnection();
- void acquire();
- void release();
-
- void outgoingFile(const QString &transferId, const QString &remoteDevice, const QString &fileName, const QString &mimeType, quint64 size);
- void setTransferStarted(const QString &transferId);
- void setTransferFinished(const QString &transferId, bool success);
- void setTranferProgress(const QString &transferId, quint64 progress, quint64 total);
-
-private:
- QObject *m_obexService;
- int m_refCount;
- QMutex m_refCountMutex;
-
-private slots:
- void connectToObexServerService();
- void disconnectFromObexServerService();
- void sfwIPCError(QService::UnrecoverableIPCError);
-};
-Q_GLOBAL_STATIC(NokiaBtServiceConnection, nokiaBtServiceInstance)
-
-#endif
-
QTBLUETOOTH_END_NAMESPACE
QT_END_HEADER
diff --git a/src/bluetooth/ql2capserver_bluez.cpp b/src/bluetooth/ql2capserver_bluez.cpp
index 21d2a475..00558dab 100644
--- a/src/bluetooth/ql2capserver_bluez.cpp
+++ b/src/bluetooth/ql2capserver_bluez.cpp
@@ -97,10 +97,6 @@ bool QL2capServer::listen(const QBluetoothAddress &address, quint16 port)
{
Q_D(QL2capServer);
-#ifdef NOKIA_BT_PATCHES
- return false; // Raw L2Cap not supported
-#endif
-
int sock = d->socket->socketDescriptor();
if (sock < 0)
return false;
diff --git a/src/bluetooth/qrfcommserver_bluez.cpp b/src/bluetooth/qrfcommserver_bluez.cpp
index f0a2b6ba..f40d6e6f 100644
--- a/src/bluetooth/qrfcommserver_bluez.cpp
+++ b/src/bluetooth/qrfcommserver_bluez.cpp
@@ -52,12 +52,6 @@
#include <errno.h>
-#ifdef NOKIA_BT_PATCHES
-extern "C" {
-#include <bluetooth/brcm-rfcomm.h>
-}
-#endif
-
QTBLUETOOTH_BEGIN_NAMESPACE
static inline void convertAddress(quint64 from, quint8 (&to)[6])
@@ -119,18 +113,10 @@ bool QRfcommServer::listen(const QBluetoothAddress &address, quint16 port)
else
convertAddress(Q_UINT64_C(0), addr.rc_bdaddr.b);
-#ifndef NOKIA_BT_PATCHES
if (::bind(sock, reinterpret_cast<sockaddr *>(&addr), sizeof(sockaddr_rc)) < 0)
-#else
- if (brcm_rfcomm_socket_bind(sock, reinterpret_cast<sockaddr *>(&addr), sizeof(sockaddr_rc)) < 0)
-#endif
return false;
-#ifndef NOKIA_BT_PATCHES
if (::listen(sock, d->maxPendingConnections) < 0)
-#else
- if (brcm_rfcomm_socket_listen(sock, d->maxPendingConnections) < 0)
-#endif
return false;
d->socket->setSocketState(QBluetoothSocket::ListeningState);
@@ -173,13 +159,8 @@ QBluetoothSocket *QRfcommServer::nextPendingConnection()
sockaddr_rc addr;
socklen_t length = sizeof(sockaddr_rc);
-#ifndef NOKIA_BT_PATCHES
int pending = ::accept(d->socket->socketDescriptor(),
reinterpret_cast<sockaddr *>(&addr), &length);
-#else
- int pending = brcm_rfcomm_socket_accept(d->socket->socketDescriptor(),
- reinterpret_cast<sockaddr *>(&addr), &length);
-#endif
if (pending >= 0) {
QBluetoothSocket *newSocket = new QBluetoothSocket;
newSocket->setSocketDescriptor(pending, QBluetoothSocket::RfcommSocket);
@@ -232,11 +213,7 @@ void QRfcommServer::setSecurityFlags(QBluetooth::SecurityFlags security)
qDebug() << hex << "Setting lm to" << lm << security;
-#ifndef NOKIA_BT_PATCHES
if (setsockopt(d->socket->socketDescriptor(), SOL_RFCOMM, RFCOMM_LM, &lm, sizeof(lm)) < 0){
-#else
- if (brcm_rfcomm_socket_setsockopt(d->socket->socketDescriptor(), SOL_RFCOMM, RFCOMM_LM, &lm, sizeof(lm)) < 0){
-#endif
qWarning() << "Failed to set socket option, closing socket for safety" << errno;
qWarning() << "Error: " << strerror(errno);
d->socket->close();
@@ -251,11 +228,7 @@ QBluetooth::SecurityFlags QRfcommServer::securityFlags() const
int len = sizeof(lm);
int security = QBluetooth::NoSecurity;
-#ifndef NOKIA_BT_PATCHES
if (getsockopt(d->socket->socketDescriptor(), SOL_RFCOMM, RFCOMM_LM, &lm, (socklen_t *)&len) < 0) {
-#else
- if (brcm_rfcomm_socket_getsockopt(d->socket->socketDescriptor(), SOL_RFCOMM, RFCOMM_LM, &lm, (socklen_t *)&len) < 0) {
-#endif
qWarning() << "Failed to get security flags" << strerror(errno);
return QBluetooth::NoSecurity;
}