Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3702)

Unified Diff: chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.h

Issue 1258783009: Add functionality to Bluetooth settings UI. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.h
diff --git a/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.h b/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.h
index 6694ac812e66fcb196d7878ed209dfb76be197f2..c0fddf32a1a412eebc9960acea1ed6c475635325 100644
--- a/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.h
+++ b/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.h
@@ -5,25 +5,32 @@
#ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_EMULATOR_DEVICE_EMULATOR_MESSAGE_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_EMULATOR_DEVICE_EMULATOR_MESSAGE_HANDLER_H_
-#include "chromeos/dbus/fake_power_manager_client.h"
+#include "base/memory/scoped_ptr.h"
#include "chromeos/dbus/power_manager/power_supply_properties.pb.h"
#include "content/public/browser/web_ui_message_handler.h"
namespace base {
class ListValue;
-}
+} // namespace base
+
+namespace dbus {
+class ObjectPath;
+} // namespace dbus
+
+namespace chromeos {
+
+class FakeBluetoothDeviceClient;
+class FakePowerManagerClient;
// Handler class for the Device Emulator page operations.
class DeviceEmulatorMessageHandler
- : public content::WebUIMessageHandler,
- public chromeos::PowerManagerClient::Observer {
+ : public content::WebUIMessageHandler {
public:
DeviceEmulatorMessageHandler();
~DeviceEmulatorMessageHandler() override;
- // Callbacks for JS request methods. All these methods work
- // asynchronously.
- void RequestPowerInfo(const base::ListValue* args);
+ // Adds |this| as an observer to all necessary objects.
+ void Init();
// Callback for the "requestBluetoothDiscover" message. This asynchronously
// requests for the system to discover a certain device. The device's data
@@ -31,6 +38,10 @@ class DeviceEmulatorMessageHandler
// already exist, then it will be created and attached to the main adapter.
void HandleRequestBluetoothDiscover(const base::ListValue* args);
+ // Callback for the "requestBluetoothInfo" message. This asynchronously
+ // requests for the devices which are already paired with the device.
+ void HandleRequestBluetoothInfo(const base::ListValue* args);
+
// Callback for the "requestBluetoothPair" message. This asynchronously
// requests for the system to pair a certain device. The device's data should
// be passed into |args| as a dictionary. If the device does not already
@@ -45,19 +56,37 @@ class DeviceEmulatorMessageHandler
void UpdateTimeToEmpty(const base::ListValue* args);
void UpdateTimeToFull(const base::ListValue* args);
- // Adds |this| as an observer to all necessary objects.
- void Init();
-
- // chromeos::PowerManagerClient::Observer:
- void PowerChanged(const power_manager::PowerSupplyProperties& proto) override;
-
// content::WebUIMessageHandler:
void RegisterMessages() override;
+ // Callback for the "requestPowerInfo" message. This asynchonously requests
+ // for power settings such as battery percentage, external power, etc. to
+ // update the view.
+ void RequestPowerInfo(const base::ListValue* args);
+
private:
- chromeos::FakePowerManagerClient* fake_power_manager_client_;
+ class BluetoothObserver;
+ class PowerObserver;
+
+ // Creates a bluetooth device with the properties given in |args|. |args|
+ // should contain a dictionary so that each dictionary value can be mapped
+ // to its respective property upon creating the device. Returns the device
+ // path.
+ std::string CreateBluetoothDeviceFromListValue(const base::ListValue* args);
+
+ // Builds a dictionary with each key representing a property of the device
+ // with path |object_path|.
+ scoped_ptr<base::DictionaryValue> GetDeviceInfo(
+ const dbus::ObjectPath& object_path);
+
+ scoped_ptr<BluetoothObserver> bluetooth_observer_;
+ FakeBluetoothDeviceClient* fake_bluetooth_device_client_;
+ FakePowerManagerClient* fake_power_manager_client_;
+ scoped_ptr<PowerObserver> power_observer_;
DISALLOW_COPY_AND_ASSIGN(DeviceEmulatorMessageHandler);
};
+} // namespace chromeos
+
#endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_EMULATOR_DEVICE_EMULATOR_MESSAGE_HANDLER_H_

Powered by Google App Engine
This is Rietveld 408576698