From 375407bce250b9dea79306d468c3ff9ed76d86af Mon Sep 17 00:00:00 2001 From: Ryan VanderMeulen Date: Wed, 25 Mar 2015 10:05:42 -0400 Subject: [PATCH] Backed out 4 changesets (bug 1146923) for bustage. Backed out changeset 926351238914 (bug 1146923) Backed out changeset 7d8eb56f1e24 (bug 1146923) Backed out changeset c5d4efed15e9 (bug 1146923) Backed out changeset 045020b31842 (bug 1146923) CLOSED TREE --- dom/bluetooth/BluetoothCommon.h | 32 +++---------- dom/bluetooth/BluetoothInterface.h | 2 +- .../bluedroid/BluetoothDaemonHelpers.cpp | 45 ++++++++++--------- .../bluedroid/BluetoothDaemonHelpers.h | 38 ++++++++++++---- .../bluedroid/BluetoothDaemonInterface.cpp | 12 ++--- .../bluedroid/BluetoothHALHelpers.cpp | 2 +- dom/bluetooth/bluedroid/BluetoothHALHelpers.h | 42 ++++++++++------- .../bluedroid/BluetoothHALInterface.cpp | 5 ++- .../bluedroid/BluetoothServiceBluedroid.cpp | 2 +- .../bluedroid/BluetoothServiceBluedroid.h | 2 +- 10 files changed, 97 insertions(+), 85 deletions(-) diff --git a/dom/bluetooth/BluetoothCommon.h b/dom/bluetooth/BluetoothCommon.h index b32776cda87..bc334ae4ba9 100644 --- a/dom/bluetooth/BluetoothCommon.h +++ b/dom/bluetooth/BluetoothCommon.h @@ -12,19 +12,6 @@ #include "nsString.h" #include "nsTArray.h" -#if MOZ_IS_GCC && MOZ_GCC_VERSION_AT_LEAST(4, 7, 0) -/* use designated array initializers if supported */ -#define INIT_ARRAY_AT(in_, out_) \ - [in_] = out_ -#else -/* otherwise init array element by position */ -#define INIT_ARRAY_AT(in_, out_) \ - out_ -#endif - -#define CONVERT(in_, out_) \ - INIT_ARRAY_AT(in_, out_) - extern bool gBluetoothDebugFlag; #define SWITCH_BT_DEBUG(V) (gBluetoothDebugFlag = V) @@ -165,10 +152,10 @@ enum BluetoothBondState { BOND_STATE_BONDED }; -enum BluetoothTypeOfDevice { - TYPE_OF_DEVICE_BREDR, - TYPE_OF_DEVICE_BLE, - TYPE_OF_DEVICE_DUAL +enum BluetoothDeviceType { + DEVICE_TYPE_BREDR, + DEVICE_TYPE_BLE, + DEVICE_TYPE_DUAL }; enum BluetoothPropertyType { @@ -194,13 +181,6 @@ enum BluetoothScanMode { SCAN_MODE_CONNECTABLE_DISCOVERABLE }; -enum BluetoothSspVariant { - SSP_VARIANT_PASSKEY_CONFIRMATION, - SSP_VARIANT_PASSKEY_ENTRY, - SSP_VARIANT_CONSENT, - SSP_VARIANT_PASSKEY_NOTIFICATION -}; - struct BluetoothUuid { uint8_t mUuid[16]; }; @@ -242,8 +222,8 @@ struct BluetoothProperty { /* PROPERTY_RSSI_VALUE */ int32_t mInt32; - /* PROPERTY_TYPE_OF_DEVICE */ - BluetoothTypeOfDevice mTypeOfDevice; + /* PROPERTY_DEVICE_TYPE */ + BluetoothDeviceType mDeviceType; /* PROPERTY_SERVICE_RECORD */ BluetoothServiceRecord mServiceRecord; diff --git a/dom/bluetooth/BluetoothInterface.h b/dom/bluetooth/BluetoothInterface.h index 9827b82140e..4e52a444249 100644 --- a/dom/bluetooth/BluetoothInterface.h +++ b/dom/bluetooth/BluetoothInterface.h @@ -514,7 +514,7 @@ public: virtual void SspRequestNotification(const nsAString& aRemoteBdAddr, const nsAString& aBdName, uint32_t aCod, - BluetoothSspVariant aPairingVariant, + const nsAString& aPairingVariant, uint32_t aPassKey) { } virtual void BondStateChangedNotification(BluetoothStatus aStatus, diff --git a/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.cpp b/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.cpp index 7a8ac6cc229..50fce64cd6d 100644 --- a/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.cpp @@ -82,19 +82,19 @@ Convert(int aIn, int32_t& aOut) } nsresult -Convert(int32_t aIn, BluetoothTypeOfDevice& aOut) +Convert(int32_t aIn, BluetoothDeviceType& aOut) { - static const BluetoothTypeOfDevice sTypeOfDevice[] = { - CONVERT(0x00, static_cast(0)), // invalid, required by gcc - CONVERT(0x01, TYPE_OF_DEVICE_BREDR), - CONVERT(0x02, TYPE_OF_DEVICE_BLE), - CONVERT(0x03, TYPE_OF_DEVICE_DUAL) + static const BluetoothDeviceType sDeviceType[] = { + CONVERT(0x00, static_cast(0)), // invalid, required by gcc + CONVERT(0x01, DEVICE_TYPE_BREDR), + CONVERT(0x02, DEVICE_TYPE_BLE), + CONVERT(0x03, DEVICE_TYPE_DUAL) }; if (NS_WARN_IF(!aIn) || - NS_WARN_IF(static_cast(aIn) >= MOZ_ARRAY_LENGTH(sTypeOfDevice))) { + NS_WARN_IF(static_cast(aIn) >= MOZ_ARRAY_LENGTH(sDeviceType))) { return NS_ERROR_ILLEGAL_VALUE; } - aOut = sTypeOfDevice[aIn]; + aOut = sDeviceType[aIn]; return NS_OK; } @@ -455,18 +455,18 @@ Convert(BluetoothSocketType aIn, uint8_t& aOut) } nsresult -Convert(uint8_t aIn, BluetoothSspVariant& aOut) +Convert(uint8_t aIn, BluetoothSspPairingVariant& aOut) { - static const BluetoothSspVariant sSspVariant[] = { + static const BluetoothSspPairingVariant sSspPairingVariant[] = { CONVERT(0x00, SSP_VARIANT_PASSKEY_CONFIRMATION), CONVERT(0x01, SSP_VARIANT_PASSKEY_ENTRY), CONVERT(0x02, SSP_VARIANT_CONSENT), CONVERT(0x03, SSP_VARIANT_PASSKEY_NOTIFICATION) }; - if (NS_WARN_IF(aIn >= MOZ_ARRAY_LENGTH(sSspVariant))) { + if (NS_WARN_IF(aIn >= MOZ_ARRAY_LENGTH(sSspPairingVariant))) { return NS_ERROR_ILLEGAL_VALUE; } - aOut = sSspVariant[aIn]; + aOut = sSspPairingVariant[aIn]; return NS_OK; } @@ -599,7 +599,7 @@ Convert(const nsAString& aIn, BluetoothServiceName& aOut) } nsresult -Convert(const nsAString& aIn, BluetoothSspVariant& aOut) +Convert(const nsAString& aIn, BluetoothSspPairingVariant& aOut) { if (aIn.EqualsLiteral("PasskeyConfirmation")) { aOut = SSP_VARIANT_PASSKEY_CONFIRMATION; @@ -942,7 +942,7 @@ Convert(BluetoothScanMode aIn, int32_t& aOut) } nsresult -Convert(BluetoothSspVariant aIn, uint8_t& aOut) +Convert(BluetoothSspPairingVariant aIn, uint8_t& aOut) { static const uint8_t sValue[] = { CONVERT(SSP_VARIANT_PASSKEY_CONFIRMATION, 0x00), @@ -959,7 +959,7 @@ Convert(BluetoothSspVariant aIn, uint8_t& aOut) } nsresult -Convert(BluetoothSspVariant aIn, nsAString& aOut) +Convert(BluetoothSspPairingVariant aIn, nsAString& aOut) { static const char* const sString[] = { CONVERT(SSP_VARIANT_PASSKEY_CONFIRMATION, "PasskeyConfirmation"), @@ -1331,9 +1331,10 @@ PackPDU(BluetoothPropertyType aIn, BluetoothDaemonPDU& aPDU) } nsresult -PackPDU(BluetoothSspVariant aIn, BluetoothDaemonPDU& aPDU) +PackPDU(BluetoothSspPairingVariant aIn, BluetoothDaemonPDU& aPDU) { - return PackPDU(PackConversion(aIn), aPDU); + return PackPDU(PackConversion(aIn), + aPDU); } nsresult @@ -1459,10 +1460,10 @@ UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothBondState& aOut) } nsresult -UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothTypeOfDevice& aOut) +UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothDeviceType& aOut) { return UnpackPDU( - aPDU, UnpackConversion(aOut)); + aPDU, UnpackConversion(aOut)); } nsresult @@ -1552,7 +1553,7 @@ UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothProperty& aOut) rv = UnpackPDU(aPDU, aOut.mUint32); break; case PROPERTY_TYPE_OF_DEVICE: - rv = UnpackPDU(aPDU, aOut.mTypeOfDevice); + rv = UnpackPDU(aPDU, aOut.mDeviceType); break; case PROPERTY_SERVICE_RECORD: rv = UnpackPDU(aPDU, aOut.mServiceRecord); @@ -1640,10 +1641,10 @@ UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothServiceRecord& aOut) } nsresult -UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothSspVariant& aOut) +UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothSspPairingVariant& aOut) { return UnpackPDU( - aPDU, UnpackConversion(aOut)); + aPDU, UnpackConversion(aOut)); } nsresult diff --git a/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.h b/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.h index 3fbb806a650..649c47c1559 100644 --- a/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.h +++ b/dom/bluetooth/bluedroid/BluetoothDaemonHelpers.h @@ -13,6 +13,19 @@ #include "mozilla/ipc/BluetoothDaemonConnection.h" #include "nsThreadUtils.h" +#if MOZ_IS_GCC && MOZ_GCC_VERSION_AT_LEAST(4, 7, 0) +/* use designated array initializers if supported */ +#define INIT_ARRAY_AT(in_, out_) \ + [in_] = out_ +#else +/* otherwise init array element by position */ +#define INIT_ARRAY_AT(in_, out_) \ + out_ +#endif + +#define CONVERT(in_, out_) \ + INIT_ARRAY_AT(in_, out_) + using namespace mozilla::ipc; BEGIN_BLUETOOTH_NAMESPACE @@ -26,6 +39,13 @@ enum BluetoothAclState { ACL_STATE_DISCONNECTED }; +enum BluetoothSspPairingVariant { + SSP_VARIANT_PASSKEY_CONFIRMATION, + SSP_VARIANT_PASSKEY_ENTRY, + SSP_VARIANT_CONSENT, + SSP_VARIANT_PASSKEY_NOTIFICATION +}; + struct BluetoothAddress { uint8_t mAddr[6]; }; @@ -163,7 +183,7 @@ nsresult Convert(int aIn, int32_t& aOut); nsresult -Convert(int32_t aIn, BluetoothTypeOfDevice& aOut); +Convert(int32_t aIn, BluetoothDeviceType& aOut); nsresult Convert(int32_t aIn, BluetoothScanMode& aOut); @@ -226,7 +246,7 @@ nsresult Convert(uint8_t aIn, BluetoothBondState& aOut); nsresult -Convert(uint8_t aIn, BluetoothTypeOfDevice& aOut); +Convert(uint8_t aIn, BluetoothDeviceType& aOut); nsresult Convert(uint8_t aIn, BluetoothPropertyType& aOut); @@ -235,7 +255,7 @@ nsresult Convert(uint8_t aIn, BluetoothScanMode& aOut); nsresult -Convert(uint8_t aIn, BluetoothSspVariant& aOut); +Convert(uint8_t aIn, BluetoothSspPairingVariant& aOut); nsresult Convert(uint8_t aIn, BluetoothStatus& aOut); @@ -262,7 +282,7 @@ nsresult Convert(const nsAString& aIn, BluetoothServiceName& aOut); nsresult -Convert(const nsAString& aIn, BluetoothSspVariant& aOut); +Convert(const nsAString& aIn, BluetoothSspPairingVariant& aOut); nsresult Convert(BluetoothAclState aIn, bool& aOut); @@ -328,10 +348,10 @@ nsresult Convert(BluetoothSocketType aIn, uint8_t& aOut); nsresult -Convert(BluetoothSspVariant aIn, uint8_t& aOut); +Convert(BluetoothSspPairingVariant aIn, uint8_t& aOut); nsresult -Convert(BluetoothSspVariant aIn, nsAString& aOut); +Convert(BluetoothSspPairingVariant aIn, nsAString& aOut); nsresult Convert(ControlPlayStatus aIn, uint8_t& aOut); @@ -453,7 +473,7 @@ nsresult PackPDU(BluetoothSocketType aIn, BluetoothDaemonPDU& aPDU); nsresult -PackPDU(BluetoothSspVariant aIn, BluetoothDaemonPDU& aPDU); +PackPDU(BluetoothSspPairingVariant aIn, BluetoothDaemonPDU& aPDU); nsresult PackPDU(BluetoothScanMode aIn, BluetoothDaemonPDU& aPDU); @@ -793,7 +813,7 @@ UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothDaemonPDUHeader& aOut) } nsresult -UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothTypeOfDevice& aOut); +UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothDeviceType& aOut); nsresult UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothHandsfreeAudioState& aOut); @@ -836,7 +856,7 @@ nsresult UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothServiceRecord& aOut); nsresult -UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothSspVariant& aOut); +UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothSspPairingVariant& aOut); nsresult UnpackPDU(BluetoothDaemonPDU& aPDU, BluetoothStatus& aOut); diff --git a/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp b/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp index 6f7ccfdda9f..914fb8470b5 100644 --- a/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp @@ -518,7 +518,7 @@ public: nsresult rv = PackPDU( PackConversion(aBdAddr), - PackConversion(aVariant), + PackConversion(aVariant), aAccept, aPasskey, *pdu); if (NS_FAILED(rv)) { return rv; @@ -913,8 +913,9 @@ private: typedef BluetoothNotificationRunnable5 + nsString, uint32_t, + const nsAString&, const nsAString&, + uint32_t, const nsAString&> SspRequestNotification; typedef BluetoothNotificationRunnable3(aArg4)); if (NS_FAILED(rv)) { return rv; } diff --git a/dom/bluetooth/bluedroid/BluetoothHALHelpers.cpp b/dom/bluetooth/bluedroid/BluetoothHALHelpers.cpp index 81f1c232ffd..f5389774235 100644 --- a/dom/bluetooth/bluedroid/BluetoothHALHelpers.cpp +++ b/dom/bluetooth/bluedroid/BluetoothHALHelpers.cpp @@ -290,7 +290,7 @@ Convert(const bt_property_t& aIn, BluetoothProperty& aOut) break; case PROPERTY_TYPE_OF_DEVICE: rv = Convert(*static_cast(aIn.val), - aOut.mTypeOfDevice); + aOut.mDeviceType); break; case PROPERTY_SERVICE_RECORD: rv = Convert(*static_cast(aIn.val), diff --git a/dom/bluetooth/bluedroid/BluetoothHALHelpers.h b/dom/bluetooth/bluedroid/BluetoothHALHelpers.h index e5e22a7632f..6e963463ad3 100644 --- a/dom/bluetooth/bluedroid/BluetoothHALHelpers.h +++ b/dom/bluetooth/bluedroid/BluetoothHALHelpers.h @@ -19,6 +19,16 @@ #include "mozilla/dom/bluetooth/BluetoothTypes.h" #include "nsThreadUtils.h" +#if MOZ_IS_GCC && MOZ_GCC_VERSION_AT_LEAST(4, 7, 0) +/* use designated array initializers if supported */ +#define CONVERT(in_, out_) \ + [in_] = out_ +#else +/* otherwise init array element by position */ +#define CONVERT(in_, out_) \ + out_ +#endif + BEGIN_BLUETOOTH_NAMESPACE // @@ -111,20 +121,18 @@ nsresult Convert(const nsAString& aIn, bt_ssp_variant_t& aOut); inline nsresult -Convert(const bt_ssp_variant_t& aIn, BluetoothSspVariant& aOut) +Convert(const bt_ssp_variant_t& aIn, nsAString& aOut) { - static const BluetoothSspVariant sSspVariant[] = { - CONVERT(BT_SSP_VARIANT_PASSKEY_CONFIRMATION, - SSP_VARIANT_PASSKEY_CONFIRMATION), - CONVERT(BT_SSP_VARIANT_PASSKEY_ENTRY, SSP_VARIANT_PASSKEY_ENTRY), - CONVERT(BT_SSP_VARIANT_CONSENT, SSP_VARIANT_CONSENT), - CONVERT(BT_SSP_VARIANT_PASSKEY_NOTIFICATION, - SSP_VARIANT_PASSKEY_NOTIFICATION) + static const char * const sSspVariant[] = { + CONVERT(BT_SSP_VARIANT_PASSKEY_CONFIRMATION, "PasskeyConfirmation"), + CONVERT(BT_SSP_VARIANT_PASSKEY_ENTRY, "PasskeyEntry"), + CONVERT(BT_SSP_VARIANT_CONSENT, "Consent"), + CONVERT(BT_SSP_VARIANT_PASSKEY_NOTIFICATION, "PasskeyNotification") }; if (aIn >= MOZ_ARRAY_LENGTH(sSspVariant)) { return NS_ERROR_ILLEGAL_VALUE; } - aOut = sSspVariant[aIn]; + aOut = NS_ConvertUTF8toUTF16(sSspVariant[aIn]); return NS_OK; } @@ -286,18 +294,18 @@ Convert(bt_acl_state_t aIn, bool& aOut) } inline nsresult -Convert(bt_device_type_t aIn, BluetoothTypeOfDevice& aOut) +Convert(bt_device_type_t aIn, BluetoothDeviceType& aOut) { - static const BluetoothTypeOfDevice sTypeOfDevice[] = { - CONVERT(0, static_cast(0)), // invalid, required by gcc - CONVERT(BT_DEVICE_DEVTYPE_BREDR, TYPE_OF_DEVICE_BREDR), - CONVERT(BT_DEVICE_DEVTYPE_BLE, TYPE_OF_DEVICE_BLE), - CONVERT(BT_DEVICE_DEVTYPE_DUAL, TYPE_OF_DEVICE_DUAL) + static const BluetoothDeviceType sDeviceType[] = { + CONVERT(0, static_cast(0)), // invalid, required by gcc + CONVERT(BT_DEVICE_DEVTYPE_BREDR, DEVICE_TYPE_BREDR), + CONVERT(BT_DEVICE_DEVTYPE_BLE, DEVICE_TYPE_BLE), + CONVERT(BT_DEVICE_DEVTYPE_DUAL, DEVICE_TYPE_DUAL) }; - if (aIn >= MOZ_ARRAY_LENGTH(sTypeOfDevice)) { + if (aIn >= MOZ_ARRAY_LENGTH(sDeviceType)) { return NS_ERROR_ILLEGAL_VALUE; } - aOut = sTypeOfDevice[aIn]; + aOut = sDeviceType[aIn]; return NS_OK; } diff --git a/dom/bluetooth/bluedroid/BluetoothHALInterface.cpp b/dom/bluetooth/bluedroid/BluetoothHALInterface.cpp index b2c2e2e05aa..dd326a95c3c 100644 --- a/dom/bluetooth/bluedroid/BluetoothHALInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothHALInterface.cpp @@ -151,8 +151,9 @@ struct BluetoothCallback typedef BluetoothNotificationHALRunnable5 + nsString, uint32_t, + const nsAString&, const nsAString&, + uint32_t, const nsAString&> SspRequestNotification; typedef BluetoothNotificationHALRunnable3