With the completely non-blocking handling of 'GetProperties' message
there is no need for BluetoothArrayOfDevicePropertiesRunnable any longer.
--HG--
extra : rebase_source : 8cbdf1bfdf4aec3dfd797326a6846931a8099723
BluetoothArrayOfDevicePropertiesRunnable used to block while waiting
for the results of the 'GetProperties' messages it sends over DBus. With
this patch, each 'GetProperties' operation is performed asyncronously
and the result is handled in a DBus reply handler. The same reply handler
gets used for all 'GetProperties' messages until all devices have been
processed. In this case the final Bluetooth reply runnable gets
dispatched.
The old function GetPropertiesInternal is now unused and has been
removed.
--HG--
extra : rebase_source : 6e5ed63ce2077e16bcaf995c3ca89f923ec8b37e
GetDefaultAdapterPathInternal used two blocking DBus operations,
namely 'DefaultAdapter' and 'GetProperties'. The latter one depends
on the result of the former one.
The be non-blocking, GetDefaultAdapterPathInternal first make a
non-blocking 'DefaultAdapter' call. Once received, the reply handler
non-blockingly calls 'GetProperties' with the values received for
'DefaultAdapter', and put itself in place as this call's reply
handler. For this second reply, it finally schedules the Bluetooth
reply runnable.
--HG--
extra : rebase_source : aa0872a5db69c928ca25723952fe2928ef52d107
This patch cleans up the various funtions that are related to
UnpackPropertiesMessage.
The original function UnpackPropertiesMessage now returns success
or failure as a boolean value. All other functions have been
into this one. And the code has been cleaned up to be more readable.
AppendDeviceNameRunnable currently block on the Bluetooth command thread
for a DBus reply.
This patch refactors the code to not block during the DBus call. The classes
AppendDeviceNameHandler and AppendDeviceNameRunnable are being removed, and
the DBus interaction is done directly in the DBus thread.
We keep the old XPIDL files in place to stay compatible with existing
code. They can probably be removed when all bindings have been converted
to WebIDL.
In addition to converting BluetoothAdapter, this patch also converts
MediaMetaData and MediaPlayStatus to WebIDL. The old XPIDL-based
bindings have been removed.
This patch converts the BluetoothManager to WebIDL and removes the
old XPIDL bindings. The only user of BluetoothManager is the class
Navigator, which has been adapted to the change.
We keep the old XPIDL files in place to stay compatible with existing
code. They can probably be removed when all bindings have been converted
to WebIDL.
--HG--
extra : rebase_source : b6612fbd237d89bd02a2fde34e121691be3c0f08
In addition to converting BluetoothAdapter, this patch also converts
MediaMetaData and MediaPlayStatus to WebIDL. The old XPIDL-based
bindings have been removed.
--HG--
extra : rebase_source : 8a3e25ff89877148d0765b371ebdf77ad33aad75
This patch converts the BluetoothManager to WebIDL and removes the
old XPIDL bindings. The only user of BluetoothManager is the class
Navigator, which has been adapted to the change.
--HG--
extra : rebase_source : 4bdc77b3923d4ca6ec820c12454a295010382839
PrepareAdapterRunnable does not block for DBus anymore, so the
intermediate step of PrepareAdapterTask in the main thread is
unnecessary. This patch merges the code of PrepareAdapterTask
into PrepareAdapterRunnable and removes PrepareAdapterTask.
PrepareAdapterRunnable now runs directly on the main thread.
AddServiceRecordsInternal blocks the Bluetooth command thread while
waiting for a DBus reply. This patch replaces the function by a DBus
reply handler that runs asynchrounously on the DBus thread.