Index: chrome/browser/extensions/bluetooth_event_router.cc |
diff --git a/chrome/browser/extensions/bluetooth_event_router.cc b/chrome/browser/extensions/bluetooth_event_router.cc |
index d38db9e8b925a6438b7a199889ee2f576b1ea5dc..185685904f3b6d7c63adf459e4d568dc38349afc 100644 |
--- a/chrome/browser/extensions/bluetooth_event_router.cc |
+++ b/chrome/browser/extensions/bluetooth_event_router.cc |
@@ -29,8 +29,16 @@ ExtensionBluetoothEventRouter::ExtensionBluetoothEventRouter(Profile* profile) |
adapter_(device::BluetoothAdapterFactory::DefaultAdapter()), |
next_socket_id_(1) { |
DCHECK(profile_); |
- if (adapter_.get()) |
- adapter_->AddObserver(this); |
+} |
+ |
+ExtensionBluetoothEventRouter::ExtensionBluetoothEventRouter( |
+ Profile* profile, device::BluetoothAdapter* adapter) |
+ : send_discovery_events_(false), |
+ responsible_for_discovery_(false), |
+ profile_(profile), |
+ adapter_(adapter), |
+ next_socket_id_(1) { |
+ DCHECK(profile_); |
} |
ExtensionBluetoothEventRouter::~ExtensionBluetoothEventRouter() { |
@@ -40,6 +48,13 @@ ExtensionBluetoothEventRouter::~ExtensionBluetoothEventRouter() { |
socket_map_.clear(); |
} |
+device::BluetoothAdapter* ExtensionBluetoothEventRouter::GetMutableAdapter() { |
+ if (adapter_.get()) { |
+ adapter_->AddObserver(this); |
miket_OOO
2012/11/06 02:04:09
Braces not needed.
I might answer this question f
youngki
2012/11/06 16:18:54
Done.
|
+ } |
+ return adapter_.get(); |
+} |
+ |
int ExtensionBluetoothEventRouter::RegisterSocket( |
scoped_refptr<device::BluetoothSocket> socket) { |
// If there is a socket registered with the same fd, just return it's id |
@@ -62,6 +77,21 @@ bool ExtensionBluetoothEventRouter::ReleaseSocket(int id) { |
return true; |
} |
+bool ExtensionBluetoothEventRouter::IsBluetoothEvent( |
+ const std::string& event_name) { |
miket_OOO
2012/11/06 02:04:09
this method could be const.
youngki
2012/11/06 16:18:54
This method is actually static, so no need to be c
|
+ return |
+ event_name == extensions::event_names::kBluetoothOnAvailabilityChanged || |
+ event_name == extensions::event_names::kBluetoothOnDiscoveringChanged || |
+ event_name == extensions::event_names::kBluetoothOnPowerChanged; |
+} |
+ |
+void ExtensionBluetoothEventRouter::OnEventListenerAdded( |
+ const std::string& event_name) { |
+ if (IsBluetoothEvent(event_name) && adapter_.get()) { |
+ adapter_->AddObserver(this); |
miket_OOO
2012/11/06 02:04:09
Would it be correct, or more elegant, to call GetM
youngki
2012/11/06 16:18:54
Hm.. Although they do the same thing, we are not t
|
+ } |
+} |
+ |
scoped_refptr<device::BluetoothSocket> |
ExtensionBluetoothEventRouter::GetSocket(int id) { |
SocketMap::iterator socket_entry = socket_map_.find(id); |