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
This commit is contained in:
Ryan VanderMeulen 2015-03-25 10:05:42 -04:00
parent bedd66dd39
commit 375407bce2
10 changed files with 97 additions and 85 deletions

View File

@ -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;

View File

@ -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,

View File

@ -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<BluetoothTypeOfDevice>(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<BluetoothDeviceType>(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<size_t>(aIn) >= MOZ_ARRAY_LENGTH(sTypeOfDevice))) {
NS_WARN_IF(static_cast<size_t>(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<BluetoothSspVariant, uint8_t>(aIn), aPDU);
return PackPDU(PackConversion<BluetoothSspPairingVariant, uint8_t>(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<int32_t, BluetoothTypeOfDevice>(aOut));
aPDU, UnpackConversion<int32_t, BluetoothDeviceType>(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<uint8_t, BluetoothSspVariant>(aOut));
aPDU, UnpackConversion<uint8_t, BluetoothSspPairingVariant>(aOut));
}
nsresult

View File

@ -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);

View File

@ -518,7 +518,7 @@ public:
nsresult rv = PackPDU(
PackConversion<nsAString, BluetoothAddress>(aBdAddr),
PackConversion<nsAString, BluetoothSspVariant>(aVariant),
PackConversion<nsAString, BluetoothSspPairingVariant>(aVariant),
aAccept, aPasskey, *pdu);
if (NS_FAILED(rv)) {
return rv;
@ -913,8 +913,9 @@ private:
typedef BluetoothNotificationRunnable5<NotificationHandlerWrapper, void,
nsString, nsString, uint32_t,
BluetoothSspVariant, uint32_t,
const nsAString&, const nsAString&>
nsString, uint32_t,
const nsAString&, const nsAString&,
uint32_t, const nsAString&>
SspRequestNotification;
typedef BluetoothNotificationRunnable3<NotificationHandlerWrapper, void,
@ -1149,7 +1150,7 @@ private:
nsresult
operator () (nsString& aArg1, nsString& aArg2, uint32_t& aArg3,
BluetoothSspVariant aArg4, uint32_t& aArg5) const
nsString& aArg4, uint32_t& aArg5) const
{
BluetoothDaemonPDU& pdu = GetPDU();
@ -1174,7 +1175,8 @@ private:
}
/* Read pairing variant */
rv = UnpackPDU(pdu, aArg4);
rv = UnpackPDU(
pdu, UnpackConversion<BluetoothSspPairingVariant, nsAString>(aArg4));
if (NS_FAILED(rv)) {
return rv;
}

View File

@ -290,7 +290,7 @@ Convert(const bt_property_t& aIn, BluetoothProperty& aOut)
break;
case PROPERTY_TYPE_OF_DEVICE:
rv = Convert(*static_cast<bt_device_type_t*>(aIn.val),
aOut.mTypeOfDevice);
aOut.mDeviceType);
break;
case PROPERTY_SERVICE_RECORD:
rv = Convert(*static_cast<bt_service_record_t*>(aIn.val),

View File

@ -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<BluetoothTypeOfDevice>(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<BluetoothDeviceType>(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;
}

View File

@ -151,8 +151,9 @@ struct BluetoothCallback
typedef BluetoothNotificationHALRunnable5<NotificationHandlerWrapper, void,
nsString, nsString, uint32_t,
BluetoothSspVariant, uint32_t,
const nsAString&, const nsAString&>
nsString, uint32_t,
const nsAString&, const nsAString&,
uint32_t, const nsAString&>
SspRequestNotification;
typedef BluetoothNotificationHALRunnable3<NotificationHandlerWrapper, void,

View File

@ -1493,7 +1493,7 @@ BluetoothServiceBluedroid::PinRequestNotification(const nsAString& aRemoteBdAddr
void
BluetoothServiceBluedroid::SspRequestNotification(
const nsAString& aRemoteBdAddr, const nsAString& aBdName, uint32_t aCod,
BluetoothSspVariant aPairingVariant, uint32_t aPassKey)
const nsAString& aPairingaVariant, uint32_t aPassKey)
{
MOZ_ASSERT(NS_IsMainThread());

View File

@ -196,7 +196,7 @@ public:
virtual void SspRequestNotification(const nsAString& aRemoteBdAddr,
const nsAString& aBdName,
uint32_t aCod,
BluetoothSspVariant aPairingVariant,
const nsAString& aPairingaVariant,
uint32_t aPassKey) override;
virtual void BondStateChangedNotification(