Bug 1225340 - Refine nullity check macros in BluetoothServiceBluedroid, r=tzimmermann

This commit is contained in:
Ben Tian 2015-11-23 10:09:47 +08:00
parent fa01b488e0
commit 5397ef7325

View File

@ -36,20 +36,20 @@
#include "mozilla/StaticPtr.h"
#include "mozilla/unused.h"
#define ENSURE_BLUETOOTH_IS_READY(runnable, result) \
#define ENSURE_BLUETOOTH_IS_ENABLED(runnable, result) \
do { \
if (!sBtInterface || !IsEnabled()) { \
if (!IsEnabled()) { \
DispatchReplyError(runnable, \
NS_LITERAL_STRING("Bluetooth is not ready")); \
NS_LITERAL_STRING("Bluetooth is not enabled")); \
return result; \
} \
} while(0)
#define ENSURE_BLUETOOTH_IS_READY_VOID(runnable) \
#define ENSURE_BLUETOOTH_IS_ENABLED_VOID(runnable) \
do { \
if (!sBtInterface || !IsEnabled()) { \
if (!IsEnabled()) { \
DispatchReplyError(runnable, \
NS_LITERAL_STRING("Bluetooth is not ready")); \
NS_LITERAL_STRING("Bluetooth is not enabled")); \
return; \
} \
} while(0)
@ -340,7 +340,7 @@ BluetoothServiceBluedroid::StartLeScanInternal(
BluetoothReplyRunnable* aRunnable)
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -354,7 +354,7 @@ BluetoothServiceBluedroid::StopLeScanInternal(
BluetoothReplyRunnable* aRunnable)
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -369,7 +369,7 @@ BluetoothServiceBluedroid::ConnectGattClientInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -384,7 +384,7 @@ BluetoothServiceBluedroid::DisconnectGattClientInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -398,7 +398,7 @@ BluetoothServiceBluedroid::DiscoverGattServicesInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -413,7 +413,7 @@ BluetoothServiceBluedroid::GattClientStartNotificationsInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -428,7 +428,7 @@ BluetoothServiceBluedroid::GattClientStopNotificationsInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -442,7 +442,7 @@ BluetoothServiceBluedroid::UnregisterGattClientInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -457,7 +457,7 @@ BluetoothServiceBluedroid::GattClientReadRemoteRssiInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -474,7 +474,7 @@ BluetoothServiceBluedroid::GattClientReadCharacteristicValueInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -494,7 +494,7 @@ BluetoothServiceBluedroid::GattClientWriteCharacteristicValueInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -513,7 +513,7 @@ BluetoothServiceBluedroid::GattClientReadDescriptorValueInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -533,7 +533,7 @@ BluetoothServiceBluedroid::GattClientWriteDescriptorValueInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -550,7 +550,7 @@ BluetoothServiceBluedroid::GattServerConnectPeripheralInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -565,7 +565,7 @@ BluetoothServiceBluedroid::GattServerDisconnectPeripheralInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -579,7 +579,7 @@ BluetoothServiceBluedroid::UnregisterGattServerInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -596,7 +596,7 @@ BluetoothServiceBluedroid::GattServerAddServiceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -613,7 +613,7 @@ BluetoothServiceBluedroid::GattServerAddIncludedServiceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -635,7 +635,7 @@ BluetoothServiceBluedroid::GattServerAddCharacteristicInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -659,7 +659,7 @@ BluetoothServiceBluedroid::GattServerAddDescriptorInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -680,7 +680,7 @@ BluetoothServiceBluedroid::GattServerRemoveServiceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -696,7 +696,7 @@ BluetoothServiceBluedroid::GattServerStartServiceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -712,7 +712,7 @@ BluetoothServiceBluedroid::GattServerStopServiceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -731,7 +731,7 @@ BluetoothServiceBluedroid::GattServerSendResponseInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -751,7 +751,7 @@ BluetoothServiceBluedroid::GattServerSendIndicationInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothGattManager* gatt = BluetoothGattManager::Get();
ENSURE_GATT_MGR_IS_READY_VOID(gatt, aRunnable);
@ -869,7 +869,7 @@ BluetoothServiceBluedroid::GetConnectedDevicePropertiesInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY(aRunnable, NS_OK);
ENSURE_BLUETOOTH_IS_ENABLED(aRunnable, NS_OK);
BluetoothProfileManagerBase* profile =
BluetoothUuidHelper::GetBluetoothProfileManager(aServiceUuid);
@ -905,7 +905,7 @@ BluetoothServiceBluedroid::GetPairedDevicePropertiesInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY(aRunnable, NS_OK);
ENSURE_BLUETOOTH_IS_ENABLED(aRunnable, NS_OK);
if (aDeviceAddress.IsEmpty()) {
DispatchReplySuccess(aRunnable);
@ -957,7 +957,7 @@ BluetoothServiceBluedroid::StartDiscoveryInternal(
BluetoothReplyRunnable* aRunnable)
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
mChangeDiscoveryRunnables.AppendElement(aRunnable);
sBtCoreInterface->StartDiscovery(
@ -970,7 +970,7 @@ BluetoothServiceBluedroid::FetchUuidsInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY(aRunnable, NS_OK);
ENSURE_BLUETOOTH_IS_ENABLED(aRunnable, NS_OK);
/*
* get_remote_services request will not be performed by bluedroid
@ -993,7 +993,7 @@ BluetoothServiceBluedroid::StopDiscoveryInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
mChangeDiscoveryRunnables.AppendElement(aRunnable);
sBtCoreInterface->CancelDiscovery(
@ -1007,7 +1007,7 @@ BluetoothServiceBluedroid::SetProperty(BluetoothObjectType aType,
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY(aRunnable, NS_OK);
ENSURE_BLUETOOTH_IS_ENABLED(aRunnable, NS_OK);
BluetoothProperty property;
nsresult rv = NamedValueToProperty(aValue, property);
@ -1222,7 +1222,7 @@ BluetoothServiceBluedroid::CreatePairedDeviceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY(aRunnable, NS_OK);
ENSURE_BLUETOOTH_IS_ENABLED(aRunnable, NS_OK);
mCreateBondRunnables.AppendElement(aRunnable);
sBtCoreInterface->CreateBond(aDeviceAddress, TRANSPORT_AUTO,
@ -1237,7 +1237,7 @@ BluetoothServiceBluedroid::RemoveDeviceInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY(aRunnable, NS_OK);
ENSURE_BLUETOOTH_IS_ENABLED(aRunnable, NS_OK);
mRemoveBondRunnables.AppendElement(aRunnable);
sBtCoreInterface->RemoveBond(aDeviceAddress,
@ -1275,7 +1275,7 @@ BluetoothServiceBluedroid::PinReplyInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
sBtCoreInterface->PinReply(aDeviceAddress, aAccept, aPinCode,
new PinReplyResultHandler(aRunnable));
@ -1326,7 +1326,7 @@ BluetoothServiceBluedroid::SspReplyInternal(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
sBtCoreInterface->SspReply(aDeviceAddress, aVariant, aAccept,
0 /* passkey */,
@ -1533,7 +1533,7 @@ BluetoothServiceBluedroid::SetObexPassword(const nsAString& aPassword,
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothPbapManager* pbap = BluetoothPbapManager::Get();
if (!pbap) {
@ -1552,7 +1552,7 @@ BluetoothServiceBluedroid::RejectObexAuth(
{
MOZ_ASSERT(NS_IsMainThread());
ENSURE_BLUETOOTH_IS_READY_VOID(aRunnable);
ENSURE_BLUETOOTH_IS_ENABLED_VOID(aRunnable);
BluetoothPbapManager* pbap = BluetoothPbapManager::Get();
if (!pbap) {
@ -2038,8 +2038,6 @@ BluetoothServiceBluedroid::AdapterStateChangedNotification(bool aState)
// Bluetooth scan mode is SCAN_MODE_CONNECTABLE by default, i.e., it should
// be connectable and non-discoverable.
NS_ENSURE_TRUE_VOID(sBtCoreInterface);
sBtCoreInterface->SetAdapterProperty(
BluetoothProperty(PROPERTY_ADAPTER_SCAN_MODE, SCAN_MODE_CONNECTABLE),
new SetAdapterPropertyDiscoverableResultHandler());