nsresult BluetoothSocket::Connect(const BluetoothAddress& aDeviceAddress, const BluetoothUuid& aServiceUuid, BluetoothSocketType aType, int aChannel, bool aAuth, bool aEncrypt) { MOZ_ASSERT(!aDeviceAddress.IsCleared()); nsAutoPtr<BluetoothUnixSocketConnector> connector( new BluetoothUnixSocketConnector(aDeviceAddress, aType, aChannel, aAuth, aEncrypt)); nsresult rv = Connect(connector); if (NS_FAILED(rv)) { BluetoothAddress address; GetAddress(address); nsAutoString addressStr; AddressToString(address, addressStr); BT_LOGD("%s failed. Current connected device address: %s", __FUNCTION__, NS_ConvertUTF16toUTF8(addressStr).get()); return rv; } connector.forget(); return NS_OK; }
void BluetoothA2dpManager::Connect(const BluetoothAddress& aDeviceAddress, BluetoothProfileController* aController) { MOZ_ASSERT(NS_IsMainThread()); MOZ_ASSERT(!aDeviceAddress.IsCleared()); MOZ_ASSERT(aController); BluetoothService* bs = BluetoothService::Get(); if (!bs || sInShutdown) { aController->NotifyCompletion(NS_LITERAL_STRING(ERR_NO_AVAILABLE_RESOURCE)); return; } if (mA2dpConnected) { aController->NotifyCompletion(NS_LITERAL_STRING(ERR_ALREADY_CONNECTED)); return; } mDeviceAddress = aDeviceAddress; mController = aController; if (!sBtA2dpInterface) { BT_LOGR("sBluetoothA2dpInterface is null"); aController->NotifyCompletion(NS_LITERAL_STRING(ERR_NO_AVAILABLE_RESOURCE)); return; } sBtA2dpInterface->Connect(mDeviceAddress, new ConnectResultHandler()); }
void BluetoothHidManager::Connect(const BluetoothAddress& aDeviceAddress, BluetoothProfileController* aController) { MOZ_ASSERT(NS_IsMainThread()); MOZ_ASSERT(!aDeviceAddress.IsCleared()); MOZ_ASSERT(aController && !mController); BluetoothService* bs = BluetoothService::Get(); if (!bs || sInShutdown) { aController->NotifyCompletion(NS_LITERAL_STRING(ERR_NO_AVAILABLE_RESOURCE)); return; } if (mConnected) { aController->NotifyCompletion(NS_LITERAL_STRING(ERR_ALREADY_CONNECTED)); return; } mDeviceAddress = aDeviceAddress; mController = aController; nsAutoString deviceAddressStr; AddressToString(mDeviceAddress, deviceAddressStr); if (NS_FAILED(bs->SendInputMessage(deviceAddressStr, NS_LITERAL_STRING("Connect")))) { aController->NotifyCompletion(NS_LITERAL_STRING(ERR_NO_AVAILABLE_RESOURCE)); return; } }
void BluetoothAvrcpManager::Connect(const BluetoothAddress& aDeviceAddress, BluetoothProfileController* aController) { MOZ_ASSERT(NS_IsMainThread()); MOZ_ASSERT(!aDeviceAddress.IsCleared()); MOZ_ASSERT(aController); // AVRCP doesn't require connecting. We just set the remote address here. mDeviceAddress = aDeviceAddress; mController = aController; SetConnected(true); NS_DispatchToMainThread(new ConnectRunnable(this)); }