зеркало из https://github.com/mozilla/gecko-dev.git
Bug 906020: Remove BluetoothArrayOfDevicePropertiesRunnable, r=echou,gyeh
With the completely non-blocking handling of 'GetProperties' message there is no need for BluetoothArrayOfDevicePropertiesRunnable any longer. --HG-- extra : rebase_source : 8cbdf1bfdf4aec3dfd797326a6846931a8099723
This commit is contained in:
Родитель
349561db67
Коммит
7e44be7f39
|
@ -2158,38 +2158,6 @@ private:
|
||||||
BluetoothValue mValues;
|
BluetoothValue mValues;
|
||||||
};
|
};
|
||||||
|
|
||||||
class BluetoothArrayOfDevicePropertiesRunnable : public nsRunnable
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
BluetoothArrayOfDevicePropertiesRunnable(
|
|
||||||
const nsTArray<nsString>& aDeviceAddresses,
|
|
||||||
BluetoothReplyRunnable* aRunnable,
|
|
||||||
FilterFunc aFilterFunc)
|
|
||||||
: mDeviceAddresses(aDeviceAddresses)
|
|
||||||
, mRunnable(dont_AddRef(aRunnable))
|
|
||||||
, mFilterFunc(aFilterFunc)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
nsresult Run()
|
|
||||||
{
|
|
||||||
MOZ_ASSERT(!NS_IsMainThread());
|
|
||||||
|
|
||||||
nsRefPtr<BluetoothArrayOfDevicePropertiesReplyHandler> handler =
|
|
||||||
new BluetoothArrayOfDevicePropertiesReplyHandler(mDeviceAddresses,
|
|
||||||
mFilterFunc,
|
|
||||||
mRunnable);
|
|
||||||
handler->ProcessRemainingDeviceAddresses();
|
|
||||||
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
nsTArray<nsString> mDeviceAddresses;
|
|
||||||
nsRefPtr<BluetoothReplyRunnable> mRunnable;
|
|
||||||
FilterFunc mFilterFunc;
|
|
||||||
};
|
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
BluetoothDBusService::GetConnectedDevicePropertiesInternal(uint16_t aProfileId,
|
BluetoothDBusService::GetConnectedDevicePropertiesInternal(uint16_t aProfileId,
|
||||||
BluetoothReplyRunnable* aRunnable)
|
BluetoothReplyRunnable* aRunnable)
|
||||||
|
@ -2226,13 +2194,12 @@ BluetoothDBusService::GetConnectedDevicePropertiesInternal(uint16_t aProfileId,
|
||||||
}
|
}
|
||||||
|
|
||||||
nsRefPtr<BluetoothReplyRunnable> runnable = aRunnable;
|
nsRefPtr<BluetoothReplyRunnable> runnable = aRunnable;
|
||||||
nsRefPtr<nsRunnable> func(
|
nsRefPtr<BluetoothArrayOfDevicePropertiesReplyHandler> handler =
|
||||||
new BluetoothArrayOfDevicePropertiesRunnable(deviceAddresses,
|
new BluetoothArrayOfDevicePropertiesReplyHandler(deviceAddresses,
|
||||||
runnable,
|
GetConnectedDevicesFilter,
|
||||||
GetConnectedDevicesFilter));
|
runnable);
|
||||||
mBluetoothCommandThread->Dispatch(func, NS_DISPATCH_NORMAL);
|
handler->ProcessRemainingDeviceAddresses();
|
||||||
|
|
||||||
runnable.forget();
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2250,16 +2217,12 @@ BluetoothDBusService::GetPairedDevicePropertiesInternal(
|
||||||
}
|
}
|
||||||
|
|
||||||
nsRefPtr<BluetoothReplyRunnable> runnable = aRunnable;
|
nsRefPtr<BluetoothReplyRunnable> runnable = aRunnable;
|
||||||
nsRefPtr<nsRunnable> func(
|
nsRefPtr<BluetoothArrayOfDevicePropertiesReplyHandler> handler =
|
||||||
new BluetoothArrayOfDevicePropertiesRunnable(aDeviceAddresses,
|
new BluetoothArrayOfDevicePropertiesReplyHandler(aDeviceAddresses,
|
||||||
runnable,
|
GetPairedDevicesFilter,
|
||||||
GetPairedDevicesFilter));
|
runnable);
|
||||||
if (NS_FAILED(mBluetoothCommandThread->Dispatch(func, NS_DISPATCH_NORMAL))) {
|
handler->ProcessRemainingDeviceAddresses();
|
||||||
NS_WARNING("Cannot dispatch task!");
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
runnable.forget();
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче