--- src/bluetooth/osx/osxbtperipheralmanager.mm.orig +++ src/bluetooth/osx/osxbtperipheralmanager.mm @@ -313,7 +313,7 @@ - (void)startAdvertising { state = PeripheralState::waitingForPowerOn; - if (manager) + if (manager.data()) [manager setDelegate:nil]; manager.reset([[CBPeripheralManager alloc] initWithDelegate:self queue:OSXBluetooth::qt_LE_queue()]); @@ -378,7 +378,7 @@ - (void) addServicesToPeripheral { - Q_ASSERT(manager); + Q_ASSERT(manager.data()); if (nextServiceToAdd < services.size()) [manager addService:services[nextServiceToAdd++]]; diff --git src/bluetooth/osx/osxbtledeviceinquiry.mm src/bluetooth/osx/osxbtledeviceinquiry.mm index 4c000a2..d2ff1d4 100644 --- src/bluetooth/osx/osxbtledeviceinquiry.mm +++ src/bluetooth/osx/osxbtledeviceinquiry.mm @@ -139,7 +139,7 @@ QT_USE_NAMESPACE - (void)dealloc { - if (manager) { + if (manager.data()) { [manager setDelegate:nil]; if (internalState == InquiryActive) [manager stopScan]; diff --git src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm index 18cda39..db982a5 100644 --- src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm +++ src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm @@ -181,7 +181,7 @@ QBluetoothDeviceDiscoveryAgentPrivate::QBluetoothDeviceDiscoveryAgentPrivate(con QBluetoothDeviceDiscoveryAgentPrivate::~QBluetoothDeviceDiscoveryAgentPrivate() { - if (inquiryLE && agentState != NonActive) { + if (inquiryLE.data() && agentState != NonActive) { // We want the LE scan to stop as soon as possible. if (dispatch_queue_t leQueue = OSXBluetooth::qt_LE_queue()) { // Local variable to be retained ... @@ -195,7 +195,7 @@ bool QBluetoothDeviceDiscoveryAgentPrivate::isValid() const bool QBluetoothDeviceDiscoveryAgentPrivate::isValid() const { - return hostController && [hostController powerState] == kBluetoothHCIPowerStateON; + return hostController.data() && [hostController powerState] == kBluetoothHCIPowerStateON; } bool QBluetoothDeviceDiscoveryAgentPrivate::isActive() const @@ -290,11 +290,11 @@ void setError(QBluetoothDeviceDiscoveryAgent::Error, // Check queue and create scanner: inquiryLE.reset([[LEDeviceInquiryObjC alloc] initWithNotifier:notifier.data()]); - if (inquiryLE) + if (inquiryLE.data()) notifier.take(); // Whatever happens next, inquiryLE is already the owner ... dispatch_queue_t leQueue(qt_LE_queue()); - if (!leQueue || !inquiryLE) { + if (!leQueue || !inquiryLE.data()) { setError(QBluetoothDeviceDiscoveryAgent::UnknownError, QCoreApplication::translate(DEV_DISCOVERY, DD_NOT_STARTED_LE)); agentState = NonActive; diff --git src/bluetooth/qbluetoothlocaldevice_osx.mm src/bluetooth/qbluetoothlocaldevice_osx.mm index 24cc2bb..f204774 100644 --- src/bluetooth/qbluetoothlocaldevice_osx.mm +++ src/bluetooth/qbluetoothlocaldevice_osx.mm @@ -149,7 +149,7 @@ QBluetoothLocalDevicePrivate::QBluetoothLocalDevicePrivate(QBluetoothLocalDevice bool QBluetoothLocalDevicePrivate::isValid() const { - return hostController; + return hostController.data(); } void QBluetoothLocalDevicePrivate::requestPairing(const QBluetoothAddress &address, Pairing pairing) diff --git src/bluetooth/qbluetoothserver_osx.mm src/bluetooth/qbluetoothserver_osx.mm index 99fcf58..352c793 100644 --- src/bluetooth/qbluetoothserver_osx.mm +++ src/bluetooth/qbluetoothserver_osx.mm @@ -120,7 +120,7 @@ bool QBluetoothServerPrivate::startListener(quint16 realPort) return false; } - if (!listener) + if (!listener.data()) listener.reset([[ObjCListener alloc] initWithListener:this]); bool result = false; @@ -142,7 +142,7 @@ void QBluetoothServerPrivate::stopListener() void QBluetoothServerPrivate::openNotify(IOBluetoothRFCOMMChannel *channel) { - Q_ASSERT_X(listener, Q_FUNC_INFO, "invalid listener (nil)"); + Q_ASSERT_X(listener.data(), Q_FUNC_INFO, "invalid listener (nil)"); Q_ASSERT_X(channel, Q_FUNC_INFO, "invalid channel (nil)"); Q_ASSERT_X(q_ptr, Q_FUNC_INFO, "invalid q_ptr (null)"); @@ -154,7 +154,7 @@ void QBluetoothServerPrivate::openNotify(IOBluetoothRFCOMMChannel *channel) void QBluetoothServerPrivate::openNotify(IOBluetoothL2CAPChannel *channel) { - Q_ASSERT_X(listener, Q_FUNC_INFO, "invalid listener (nil)"); + Q_ASSERT_X(listener.data(), Q_FUNC_INFO, "invalid listener (nil)"); Q_ASSERT_X(channel, Q_FUNC_INFO, "invalid channel (nil)"); Q_ASSERT_X(q_ptr, Q_FUNC_INFO, "invalid q_ptr (null)"); @@ -291,7 +291,7 @@ bool QBluetoothServer::listen(const QBluetoothAddress &address, quint16 port) { typedef QBluetoothServerPrivate::ObjCListener ObjCListener; - if (d_ptr->listener) { + if (d_ptr->listener.data()) { qCWarning(QT_BT_OSX) << "already in listen mode, close server first"; return false; } diff --git src/bluetooth/qbluetoothserviceinfo_osx.mm src/bluetooth/qbluetoothserviceinfo_osx.mm index ee19f1d..f540b1f 100644 --- src/bluetooth/qbluetoothserviceinfo_osx.mm +++ src/bluetooth/qbluetoothserviceinfo_osx.mm @@ -172,7 +172,7 @@ bool QBluetoothServiceInfoPrivate::unregisterService() if (!registered) return false; - Q_ASSERT_X(serviceRecord, Q_FUNC_INFO, "service registered, but serviceRecord is nil"); + Q_ASSERT_X(serviceRecord.data(), Q_FUNC_INFO, "service registered, but serviceRecord is nil"); [serviceRecord removeServiceRecord]; diff --git src/bluetooth/qbluetoothsocket_osx.mm src/bluetooth/qbluetoothsocket_osx.mm index aa99455..c6ccde8 100644 --- src/bluetooth/qbluetoothsocket_osx.mm +++ src/bluetooth/qbluetoothsocket_osx.mm @@ -103,13 +103,13 @@ void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address, if (socketType == QBluetoothServiceInfo::RfcommProtocol) { rfcommChannel.reset([[ObjCRFCOMMChannel alloc] initWithDelegate:this]); - if (rfcommChannel) + if (rfcommChannel.data()) status = [rfcommChannel connectAsyncToDevice:address withChannelID:port]; else status = kIOReturnNoMemory; } else if (socketType == QBluetoothServiceInfo::L2capProtocol) { l2capChannel.reset([[ObjCL2CAPChannel alloc] initWithDelegate:this]); - if (l2capChannel) + if (l2capChannel.data()) status = [l2capChannel connectAsyncToDevice:address withPSM:port]; else status = kIOReturnNoMemory; @@ -183,10 +183,10 @@ QString QBluetoothSocketPrivate::peerName() const NSString *nsName = nil; if (socketType == QBluetoothServiceInfo::RfcommProtocol) { - if (rfcommChannel) + if (rfcommChannel.data()) nsName = [rfcommChannel peerName]; } else if (socketType == QBluetoothServiceInfo::L2capProtocol) { - if (l2capChannel) + if (l2capChannel.data()) nsName = [l2capChannel peerName]; } @@ -200,10 +200,10 @@ QBluetoothAddress QBluetoothSocketPrivate::peerAddress() const { BluetoothDeviceAddress addr = {}; if (socketType == QBluetoothServiceInfo::RfcommProtocol) { - if (rfcommChannel) + if (rfcommChannel.data()) addr = [rfcommChannel peerAddress]; } else if (socketType == QBluetoothServiceInfo::L2capProtocol) { - if (l2capChannel) + if (l2capChannel.data()) addr = [l2capChannel peerAddress]; } @@ -213,10 +213,10 @@ QBluetoothAddress QBluetoothSocketPrivate::peerAddress() const quint16 QBluetoothSocketPrivate::peerPort() const { if (socketType == QBluetoothServiceInfo::RfcommProtocol) { - if (rfcommChannel) + if (rfcommChannel.data()) return [rfcommChannel getChannelID]; } else if (socketType == QBluetoothServiceInfo::L2capProtocol) { - if (l2capChannel) + if (l2capChannel.data()) return [l2capChannel getPSM]; } @@ -233,7 +233,7 @@ void QBluetoothSocketPrivate::_q_writeNotify() Q_ASSERT_X(socketType == QBluetoothServiceInfo::L2capProtocol || socketType == QBluetoothServiceInfo::RfcommProtocol, Q_FUNC_INFO, "invalid socket type"); - Q_ASSERT_X(l2capChannel || rfcommChannel, Q_FUNC_INFO, + Q_ASSERT_X(l2capChannel.data() || rfcommChannel.data(), Q_FUNC_INFO, "invalid socket (no open channel)"); Q_ASSERT_X(q_ptr, Q_FUNC_INFO, "invalid q_ptr (null)"); @@ -277,13 +277,13 @@ bool QBluetoothSocketPrivate::setChannel(IOBluetoothRFCOMMChannel *channel) openMode = QIODevice::ReadWrite; rfcommChannel.reset([[ObjCRFCOMMChannel alloc] initWithDelegate:this channel:channel]); - if (rfcommChannel) {// We do not handle errors, up to an external user. + if (rfcommChannel.data()) {// We do not handle errors, up to an external user. q_ptr->setOpenMode(QIODevice::ReadWrite); state = QBluetoothSocket::ConnectedState; socketType = QBluetoothServiceInfo::RfcommProtocol; } - return rfcommChannel; + return rfcommChannel.data(); } bool QBluetoothSocketPrivate::setChannel(IOBluetoothL2CAPChannel *channel) @@ -301,13 +301,13 @@ bool QBluetoothSocketPrivate::setChannel(IOBluetoothL2CAPChannel *channel) openMode = QIODevice::ReadWrite; l2capChannel.reset([[ObjCL2CAPChannel alloc] initWithDelegate:this channel:channel]); - if (l2capChannel) {// We do not handle errors, up to an external user. + if (l2capChannel.data()) {// We do not handle errors, up to an external user. q_ptr->setOpenMode(QIODevice::ReadWrite); state = QBluetoothSocket::ConnectedState; socketType = QBluetoothServiceInfo::L2capProtocol; } - return l2capChannel; + return l2capChannel.data(); } diff --git src/bluetooth/qbluetoothtransferreply_osx.mm src/bluetooth/qbluetoothtransferreply_osx.mm index 1b84626..fd55e50 100644 --- src/bluetooth/qbluetoothtransferreply_osx.mm +++ src/bluetooth/qbluetoothtransferreply_osx.mm @@ -136,13 +136,13 @@ QBluetoothTransferReplyOSXPrivate::~QBluetoothTransferReplyOSXPrivate() // The OBEX session will be closed then. If // somehow IOBluetooth/OBEX still has a reference to our // session, it will not call any of delegate's callbacks. - if (session) + if (session.data()) [session closeSession]; } bool QBluetoothTransferReplyOSXPrivate::isActive() const { - return agent || (session && [session hasActiveRequest]); + return agent.data() || (session.data() && [session hasActiveRequest]); } bool QBluetoothTransferReplyOSXPrivate::startOPP(const QBluetoothAddress &device) @@ -218,7 +218,7 @@ void QBluetoothTransferReplyOSXPrivate::sendConnect(const QBluetoothAddress &dev void QBluetoothTransferReplyOSXPrivate::sendPut() { Q_ASSERT_X(inputStream, Q_FUNC_INFO, "invalid input stream (null)"); - Q_ASSERT_X(session, Q_FUNC_INFO, "invalid OBEX session (nil)"); + Q_ASSERT_X(session.data(), Q_FUNC_INFO, "invalid OBEX session (nil)"); Q_ASSERT_X([session isConnected], Q_FUNC_INFO, "not connected"); Q_ASSERT_X(![session hasActiveRequest], Q_FUNC_INFO, "session already has an active request"); @@ -268,7 +268,7 @@ void QBluetoothTransferReplyOSXPrivate::OBEXConnectError(OBEXError errorCode, OB Q_UNUSED(errorCode) Q_UNUSED(response) - if (session) { + if (session.data()) { setReplyError(QBluetoothTransferReply::SessionError, QCoreApplication::translate(TRANSFER_REPLY, TR_CONNECT_FAILED)); } else { @@ -283,7 +283,7 @@ void QBluetoothTransferReplyOSXPrivate::OBEXConnectError(OBEXError errorCode, OB void QBluetoothTransferReplyOSXPrivate::OBEXConnectSuccess() { // Now that OBEX connect succeeded, we can send an OBEX put request. - if (!session) { + if (!session.data()) { // We're still in OBEXConnect(), it'll take care of next steps. return; } diff --git src/bluetooth/qlowenergycontroller_osx.mm src/bluetooth/qlowenergycontroller_osx.mm index a0b33a9..fa6e32a 100644 --- src/bluetooth/qlowenergycontroller_osx.mm +++ src/bluetooth/qlowenergycontroller_osx.mm @@ -200,7 +200,7 @@ #ifdef Q_OS_TVOS return centralManager; #else - return centralManager || peripheralManager; + return centralManager.data() || peripheralManager.data(); #endif }