Index: chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
diff --git a/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc b/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
index 217d19e5081b05f67da1f1bed443c242282892a7..cf6c472557ecab8f4992b5bd5a44cf92288b5c9c 100644 |
--- a/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
+++ b/chrome/browser/extensions/api/bluetooth/bluetooth_event_router.cc |
@@ -210,15 +210,6 @@ ExtensionBluetoothEventRouter::GetSocket(int id) { |
return socket_entry->second.socket; |
} |
-void ExtensionBluetoothEventRouter::DispatchDeviceEvent( |
- const std::string& event_name, const bluetooth::Device& device) { |
- scoped_ptr<base::ListValue> args(new base::ListValue()); |
- args->Append(device.ToValue().release()); |
- scoped_ptr<Event> event(new Event(event_name, args.Pass())); |
- ExtensionSystem::Get(browser_context_)->event_router()->BroadcastEvent( |
- event.Pass()); |
-} |
- |
void ExtensionBluetoothEventRouter::DispatchConnectionEvent( |
const std::string& extension_id, |
const std::string& uuid, |
@@ -294,13 +285,32 @@ void ExtensionBluetoothEventRouter::DeviceAdded( |
return; |
} |
- bluetooth::Device* extension_device = |
- new bluetooth::Device(); |
- bluetooth::BluetoothDeviceToApiDevice( |
- *device, extension_device); |
+ DispatchDeviceEvent(extensions::event_names::kBluetoothOnDeviceAdded, |
+ device); |
+} |
- DispatchDeviceEvent(extensions::event_names::kBluetoothOnDeviceDiscovered, |
- *extension_device); |
+void ExtensionBluetoothEventRouter::DeviceChanged( |
+ device::BluetoothAdapter* adapter, |
+ device::BluetoothDevice* device) { |
+ if (adapter != adapter_.get()) { |
+ DVLOG(1) << "Ignoring event for adapter " << adapter->GetAddress(); |
+ return; |
+ } |
+ |
+ DispatchDeviceEvent(extensions::event_names::kBluetoothOnDeviceChanged, |
+ device); |
+} |
+ |
+void ExtensionBluetoothEventRouter::DeviceRemoved( |
+ device::BluetoothAdapter* adapter, |
+ device::BluetoothDevice* device) { |
+ if (adapter != adapter_.get()) { |
+ DVLOG(1) << "Ignoring event for adapter " << adapter->GetAddress(); |
+ return; |
+ } |
+ |
+ DispatchDeviceEvent(extensions::event_names::kBluetoothOnDeviceRemoved, |
+ device); |
} |
void ExtensionBluetoothEventRouter::InitializeAdapterIfNeeded() { |
@@ -338,6 +348,19 @@ void ExtensionBluetoothEventRouter::DispatchAdapterStateEvent() { |
event.Pass()); |
} |
+void ExtensionBluetoothEventRouter::DispatchDeviceEvent( |
+ const std::string& event_name, |
+ device::BluetoothDevice* device) { |
+ bluetooth::Device extension_device; |
+ bluetooth::BluetoothDeviceToApiDevice(*device, &extension_device); |
+ |
+ scoped_ptr<base::ListValue> args(new base::ListValue()); |
rpaquay
2014/03/06 00:11:19
You should be able to use auto-generated code, i.e
keybuk
2014/03/06 21:33:44
Done.
|
+ args->Append(extension_device.ToValue().release()); |
+ scoped_ptr<Event> event(new Event(event_name, args.Pass())); |
+ ExtensionSystem::Get(browser_context_)->event_router()->BroadcastEvent( |
+ event.Pass()); |
+} |
+ |
void ExtensionBluetoothEventRouter::CleanUpForExtension( |
const std::string& extension_id) { |
// Remove all profiles added by the extension. |