Index: chrome/browser/chromeos/bluetooth/bluetooth_adapter_dbus.h |
diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_adapter.h b/chrome/browser/chromeos/bluetooth/bluetooth_adapter_dbus.h |
similarity index 79% |
rename from chrome/browser/chromeos/bluetooth/bluetooth_adapter.h |
rename to chrome/browser/chromeos/bluetooth/bluetooth_adapter_dbus.h |
index 4ee79d1d0d631374a17ab46e75b110302592cec2..469b4f171c30ec2c9754a9040d9dd4fb99539878 100644 |
--- a/chrome/browser/chromeos/bluetooth/bluetooth_adapter.h |
+++ b/chrome/browser/chromeos/bluetooth/bluetooth_adapter_dbus.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_ADAPTER_H_ |
-#define CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_ADAPTER_H_ |
+#ifndef CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_ADAPTER_DBUS_H_ |
+#define CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_ADAPTER_DBUS_H_ |
#include <map> |
#include <string> |
@@ -13,6 +13,7 @@ |
#include "base/callback.h" |
#include "base/memory/ref_counted.h" |
#include "base/observer_list.h" |
+#include "chrome/browser/chromeos/bluetooth/bluetooth_adapter_interface.h" |
#include "chromeos/dbus/bluetooth_adapter_client.h" |
#include "chromeos/dbus/bluetooth_device_client.h" |
#include "chromeos/dbus/bluetooth_manager_client.h" |
@@ -21,21 +22,20 @@ |
namespace chromeos { |
-class BluetoothDevice; |
+class BluetoothDeviceDBus; |
-// The BluetoothAdapter class represents a local Bluetooth adapter which |
-// may be used to interact with remote Bluetooth devices. As well as |
-// providing support for determining whether an adapter is present, and |
-// whether the radio is powered, this class also provides support for |
-// obtaining the list of remote devices known to the adapter, discovering |
-// new devices, and providing notification of updates to device information. |
+struct BluetoothOutOfBandPairingData; |
+ |
+// The BluetoothAdapterDBus class is an implementation of |
+// BluetoothAdapterInterface using DBus for Linux/ChromeOS platform. |
// |
-// The class may be instantiated for either a specific adapter, or for the |
+// This class may be instantiated for either a specific adapter, or for the |
// generic "default adapter" which may change depending on availability. |
-class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
- public BluetoothManagerClient::Observer, |
- public BluetoothAdapterClient::Observer, |
- public BluetoothDeviceClient::Observer { |
+class BluetoothAdapterDBus : public base::RefCounted<BluetoothAdapterDBus>, |
+ public BluetoothAdapterInterface, |
+ public BluetoothManagerClient::Observer, |
+ public BluetoothAdapterClient::Observer, |
+ public BluetoothDeviceClient::Observer { |
public: |
// Interface for observing changes from bluetooth adapters. |
class Observer { |
bryeung
2012/09/07 18:35:57
The observer belongs in the interface.
youngki
2012/09/13 18:05:02
Done.
|
@@ -45,13 +45,13 @@ class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
// Called when the presence of the adapter |adapter| changes, when |
// |present| is true the adapter is now present, false means the adapter |
// has been removed from the system. |
- virtual void AdapterPresentChanged(BluetoothAdapter* adapter, |
+ virtual void AdapterPresentChanged(BluetoothAdapterDBus* adapter, |
bool present) {} |
// Called when the radio power state of the adapter |adapter| changes, |
// when |powered| is true the adapter radio is powered, false means the |
// adapter radio is off. |
- virtual void AdapterPoweredChanged(BluetoothAdapter* adapter, |
+ virtual void AdapterPoweredChanged(BluetoothAdapterDBus* adapter, |
bool powered) {} |
// Called when the discovering state of the adapter |adapter| changes, |
@@ -59,26 +59,26 @@ class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
// means it is not. Note that device discovery involves both states when |
// the adapter is seeking new devices and states when it is not because |
// it is interrogating the devices it found. |
- virtual void AdapterDiscoveringChanged(BluetoothAdapter* adapter, |
+ virtual void AdapterDiscoveringChanged(BluetoothAdapterDBus* adapter, |
bool discovering) {} |
// Called when a new device |device| is added to the adapter |adapter|, |
// either because it has been discovered or a connection made. |device| |
// should not be cached, instead copy its address. |
- virtual void DeviceAdded(BluetoothAdapter* adapter, |
- BluetoothDevice* device) {} |
+ virtual void DeviceAdded(BluetoothAdapterDBus* adapter, |
+ BluetoothDeviceDBus* device) {} |
// Called when properties of the device |device| known to the adapter |
// |adapter| change. |device| should not be cached, instead copy its |
// address. |
- virtual void DeviceChanged(BluetoothAdapter* adapter, |
- BluetoothDevice* device) {} |
+ virtual void DeviceChanged(BluetoothAdapterDBus* adapter, |
+ BluetoothDeviceDBus* device) {} |
// Called when the device |device| is removed from the adapter |adapter|, |
// either as a result of a discovered device being lost between discovering |
// phases or pairing information deleted. |device| should not be cached. |
- virtual void DeviceRemoved(BluetoothAdapter* adapter, |
- BluetoothDevice* device) {} |
+ virtual void DeviceRemoved(BluetoothAdapterDBus* adapter, |
+ BluetoothDeviceDBus* device) {} |
}; |
// Adds and removes observers for events on this bluetooth adapter, |
@@ -87,28 +87,19 @@ class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
void AddObserver(Observer* observer); |
void RemoveObserver(Observer* observer); |
- // The ErrorCallback is used for methods that can fail in which case it |
- // is called, in the success case the callback is simply not called. |
- typedef base::Callback<void()> ErrorCallback; |
- |
- // The BluetoothOutOfBandPairingDataCallback is used to return |
- // BluetoothOutOfBandPairingData to the caller. |
- typedef base::Callback<void(const BluetoothOutOfBandPairingData& data)> |
- BluetoothOutOfBandPairingDataCallback; |
- |
// The address of this adapter. The address format is "XX:XX:XX:XX:XX:XX", |
// where each XX is a hexadecimal number. |
- const std::string& address() const { return address_; } |
+ virtual const std::string& address() const OVERRIDE; |
// The name of the adapter. |
- const std::string& name() const { return name_; } |
+ virtual const std::string& name() const OVERRIDE; |
// Indicates whether the adapter is actually present on the system, for |
// the default adapter this indicates whether any adapter is present. |
- virtual bool IsPresent() const; |
+ virtual bool IsPresent() const OVERRIDE; |
// Indicates whether the adapter radio is powered. |
- virtual bool IsPowered() const; |
+ virtual bool IsPowered() const OVERRIDE; |
// Requests a change to the adapter radio power, setting |powered| to true |
// will turn on the radio and false will turn it off. On success, callback |
@@ -121,50 +112,50 @@ class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
// note that a typical discovery process has phases of this being true |
// followed by phases of being false when the adapter interrogates the |
// devices found. |
- virtual bool IsDiscovering() const; |
+ virtual bool IsDiscovering() const OVERRIDE; |
// Requests that the adapter either begin discovering new devices when |
// |discovering| is true, or cease any discovery when false. On success, |
// callback will be called. On failure, |error_callback| will be called. |
virtual void SetDiscovering(bool discovering, |
const base::Closure& callback, |
- const ErrorCallback& error_callback); |
+ const ErrorCallback& error_callback) OVERRIDE; |
// Requests the list of devices from the adapter, all are returned |
// including those currently connected and those paired. Use the |
// returned device pointers to determine which they are. |
- typedef std::vector<BluetoothDevice*> DeviceList; |
- virtual DeviceList GetDevices(); |
- typedef std::vector<const BluetoothDevice*> ConstDeviceList; |
- virtual ConstDeviceList GetDevices() const; |
+ virtual DeviceList GetDevices() OVERRIDE; |
+ virtual ConstDeviceList GetDevices() const OVERRIDE; |
// Returns a pointer to the device with the given address |address| or |
// NULL if no such device is known. |
- virtual BluetoothDevice* GetDevice(const std::string& address); |
- virtual const BluetoothDevice* GetDevice(const std::string& address) const; |
+ virtual BluetoothDeviceInterface* GetDevice(const std::string& address) |
+ OVERRIDE; |
+ virtual const BluetoothDeviceInterface* GetDevice( |
+ const std::string& address) const OVERRIDE; |
// Requests the local Out Of Band pairing data. |
virtual void ReadLocalOutOfBandPairingData( |
const BluetoothOutOfBandPairingDataCallback& callback, |
- const ErrorCallback& error_callback); |
+ const ErrorCallback& error_callback) OVERRIDE; |
// Returns the shared instance for the default adapter, whichever that may |
// be at the time. Use IsPresent() and the AdapterPresentChanged() observer |
// method to determine whether an adapter is actually available or not. |
- static scoped_refptr<BluetoothAdapter> DefaultAdapter(); |
+ static scoped_refptr<BluetoothAdapterDBus> DefaultAdapter(); |
// Creates an instance for a specific adapter named by |address|, which |
// may be the bluetooth address of the adapter or a device name such as |
// "hci0". |
- static BluetoothAdapter* Create(const std::string& address); |
+ static BluetoothAdapterDBus* Create(const std::string& address); |
private: |
- friend class base::RefCounted<BluetoothAdapter>; |
- friend class BluetoothDevice; |
- friend class MockBluetoothAdapter; |
+ friend class base::RefCounted<BluetoothAdapterDBus>; |
+ friend class BluetoothDeviceDBus; |
+ friend class MockBluetoothAdapterDBus; |
- BluetoothAdapter(); |
- virtual ~BluetoothAdapter(); |
+ BluetoothAdapterDBus(); |
+ virtual ~BluetoothAdapterDBus(); |
// Obtains the default adapter object path from the Bluetooth Daemon |
// and tracks future changes to it. |
@@ -304,7 +295,7 @@ class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
const std::string& address) OVERRIDE; |
// List of observers interested in event notifications from us. |
- ObserverList<BluetoothAdapter::Observer> observers_; |
+ ObserverList<BluetoothAdapterDBus::Observer> observers_; |
// Object path of adapter for this instance, this is fixed at creation time |
// unless |track_default_| is true in which case we update it to always |
@@ -325,18 +316,18 @@ class BluetoothAdapter : public base::RefCounted<BluetoothAdapter>, |
// Devices paired with, connected to, discovered by, or visible to the |
// adapter. The key is the Bluetooth address of the device and the value |
- // is the BluetoothDevice object whose lifetime is managed by the adapter |
+ // is the BluetoothDeviceDBus object whose lifetime is managed by the adapter |
// instance. |
- typedef std::map<const std::string, BluetoothDevice*> DevicesMap; |
+ typedef std::map<const std::string, BluetoothDeviceDBus*> DevicesMap; |
DevicesMap devices_; |
// Note: This should remain the last member so it'll be destroyed and |
// invalidate its weak pointers before any other members are destroyed. |
- base::WeakPtrFactory<BluetoothAdapter> weak_ptr_factory_; |
+ base::WeakPtrFactory<BluetoothAdapterDBus> weak_ptr_factory_; |
- DISALLOW_COPY_AND_ASSIGN(BluetoothAdapter); |
+ DISALLOW_COPY_AND_ASSIGN(BluetoothAdapterDBus); |
}; |
} // namespace chromeos |
-#endif // CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_ADAPTER_H_ |
+#endif // CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_ADAPTER_DBUS_H_ |