Index: device/bluetooth/bluetooth_adapter_chromeos.h |
diff --git a/device/bluetooth/bluetooth_adapter_chromeos.h b/device/bluetooth/bluetooth_adapter_chromeos.h |
index 0bcd6f741fe3e52368fa1ce2f421971f3a3d8057..eb2e3dbfa8e495025faaa03d5150df17f0c7621c 100644 |
--- a/device/bluetooth/bluetooth_adapter_chromeos.h |
+++ b/device/bluetooth/bluetooth_adapter_chromeos.h |
@@ -43,6 +43,12 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothAdapterChromeOS |
public: |
static base::WeakPtr<BluetoothAdapter> CreateAdapter(); |
+ // Shutdown the adapter: tear down and clean up all objects owned by |
+ // BluetoothAdapter. After this call, the BluetoothAdapter will behave as if |
+ // no Bluetooth controller exists in the local system. |IsPresent| will return |
+ // false. No futher use of DBusThreadManager will be made. |
+ void OnDBusThreadManagerShutdown(); |
+ |
// BluetoothAdapter: |
void DeleteOnCorrectThread() const override; |
virtual void AddObserver( |
@@ -241,6 +247,9 @@ class DEVICE_BLUETOOTH_EXPORT BluetoothAdapterChromeOS |
// ended (with either success or failure). |
void ProcessQueuedDiscoveryRequests(); |
+ // Set in |OnDBusThreadManagerShutdown()|, makes IsPresent()| return false. |
+ bool dbus_is_shutdown_; |
+ |
// Number of discovery sessions that have been added. |
int num_discovery_sessions_; |