Chromium Code Reviews| Index: device/battery/battery_status_manager_linux.h |
| diff --git a/device/battery/battery_status_manager_linux.h b/device/battery/battery_status_manager_linux.h |
| index 7b71a04dc458c7b1b0f6f840c76e36c5d8dfb5aa..019fd3efec6d9606605f2b577d5a84083f2f4979 100644 |
| --- a/device/battery/battery_status_manager_linux.h |
| +++ b/device/battery/battery_status_manager_linux.h |
| @@ -6,13 +6,13 @@ |
| #include "device/battery/battery_export.h" |
| #include "device/battery/battery_status.mojom.h" |
| +#include "device/battery/battery_status_manager.h" |
| -namespace base { |
| -class DictionaryValue; |
| -} |
| +namespace dbus { |
| +class Bus; |
| +} // namespace dbus |
|
Ken Rockot(use gerrit already)
2016/07/10 14:57:15
nit: no need for the closing comment here
|
| namespace device { |
| - |
| // UPowerDeviceState reflects the possible UPower.Device.State values, |
| // see upower.freedesktop.org/docs/Device.html#Device:State. |
| enum UPowerDeviceState { |
| @@ -25,9 +25,50 @@ enum UPowerDeviceState { |
| UPOWER_DEVICE_STATE_PENDING_DISCHARGE = 6, |
| }; |
| -// Returns the BatteryStatus computed using the provided dictionary. |
| -DEVICE_BATTERY_EXPORT BatteryStatus ComputeWebBatteryStatus( |
| - const base::DictionaryValue& dictionary); |
| +// UPowerDeviceType reflects the possible UPower.Device.Type values, |
| +// see upower.freedesktop.org/docs/Device.html#Device:Type. |
| +enum UPowerDeviceType { |
| + UPOWER_DEVICE_TYPE_UNKNOWN = 0, |
| + UPOWER_DEVICE_TYPE_LINE_POWER = 1, |
| + UPOWER_DEVICE_TYPE_BATTERY = 2, |
| + UPOWER_DEVICE_TYPE_UPS = 3, |
| + UPOWER_DEVICE_TYPE_MONITOR = 4, |
| + UPOWER_DEVICE_TYPE_MOUSE = 5, |
| + UPOWER_DEVICE_TYPE_KEYBOARD = 6, |
| + UPOWER_DEVICE_TYPE_PDA = 7, |
| + UPOWER_DEVICE_TYPE_PHONE = 8, |
| +}; |
| + |
| +// Creates a notification thread and delegates Start/Stop calls to it. |
| +class DEVICE_BATTERY_EXPORT BatteryStatusManagerLinux |
| + : public BatteryStatusManager { |
| + public: |
| + explicit BatteryStatusManagerLinux( |
| + const BatteryStatusService::BatteryUpdateCallback& callback); |
| + ~BatteryStatusManagerLinux() override; |
| + |
| + private: |
| + friend class BatteryStatusManagerLinuxTest; |
| + class BatteryStatusNotificationThread; |
| + |
| + // BatteryStatusManager: |
| + bool StartListeningBatteryChange() override; |
| + void StopListeningBatteryChange() override; |
| + |
| + // Starts the notifier thread if not already started and returns true on |
| + // success. |
| + bool StartNotifierThreadIfNecessary(); |
| + base::Thread* GetNotifierThreadForTesting(); |
| + |
| + static std::unique_ptr<BatteryStatusManagerLinux> CreateForTesting( |
| + const BatteryStatusService::BatteryUpdateCallback& callback, |
| + dbus::Bus* bus); |
| + |
| + BatteryStatusService::BatteryUpdateCallback callback_; |
| + std::unique_ptr<BatteryStatusNotificationThread> notifier_thread_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(BatteryStatusManagerLinux); |
| +}; |
| } // namespace device |