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

Side by Side Diff: services/device/power_monitor/power_monitor_message_broadcaster.h

Issue 2729293002: Fix renderers not getting power broadcast messages (Closed)
Patch Set: Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SERVICES_DEVICE_POWER_MONITOR_POWER_MONITOR_MESSAGE_BROADCASTER_H_ 5 #ifndef SERVICES_DEVICE_POWER_MONITOR_POWER_MONITOR_MESSAGE_BROADCASTER_H_
6 #define SERVICES_DEVICE_POWER_MONITOR_POWER_MONITOR_MESSAGE_BROADCASTER_H_ 6 #define SERVICES_DEVICE_POWER_MONITOR_POWER_MONITOR_MESSAGE_BROADCASTER_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/power_monitor/power_observer.h" 9 #include "base/power_monitor/power_observer.h"
10 #include "mojo/public/cpp/bindings/binding_set.h"
11 #include "mojo/public/cpp/bindings/interface_ptr_set.h"
10 #include "services/device/public/interfaces/power_monitor.mojom.h" 12 #include "services/device/public/interfaces/power_monitor.mojom.h"
11 13
12 namespace device { 14 namespace device {
13 15
14 // A class used to monitor the power state change and communicate it to child 16 // A class used to monitor the power state change and communicate it to child
15 // processes via IPC. 17 // processes via IPC.
16 class PowerMonitorMessageBroadcaster : public base::PowerObserver, 18 class PowerMonitorMessageBroadcaster : public base::PowerObserver,
17 public device::mojom::PowerMonitor { 19 public device::mojom::PowerMonitor {
18 public: 20 public:
19 explicit PowerMonitorMessageBroadcaster(); 21 PowerMonitorMessageBroadcaster();
20 ~PowerMonitorMessageBroadcaster() override; 22 ~PowerMonitorMessageBroadcaster() override;
21 23
22 static void Create(device::mojom::PowerMonitorRequest request); 24 void Bind(device::mojom::PowerMonitorRequest request);
23 25
24 // device::mojom::PowerMonitor: 26 // device::mojom::PowerMonitor:
25 void SetClient( 27 void AddClient(
26 device::mojom::PowerMonitorClientPtr power_monitor_client) override; 28 device::mojom::PowerMonitorClientPtr power_monitor_client) override;
27 29
28 // base::PowerObserver: 30 // base::PowerObserver:
29 void OnPowerStateChange(bool on_battery_power) override; 31 void OnPowerStateChange(bool on_battery_power) override;
30 void OnSuspend() override; 32 void OnSuspend() override;
31 void OnResume() override; 33 void OnResume() override;
32 34
33 private: 35 private:
34 device::mojom::PowerMonitorClientPtr power_monitor_client_; 36 mojo::BindingSet<device::mojom::PowerMonitor> bindings_;
37 mojo::InterfacePtrSet<device::mojom::PowerMonitorClient> clients_;
35 38
36 DISALLOW_COPY_AND_ASSIGN(PowerMonitorMessageBroadcaster); 39 DISALLOW_COPY_AND_ASSIGN(PowerMonitorMessageBroadcaster);
37 }; 40 };
38 41
39 } // namespace device 42 } // namespace device
40 43
41 #endif // SERVICES_DEVICE_POWER_MONITOR_POWER_MONITOR_MESSAGE_BROADCASTER_H_ 44 #endif // SERVICES_DEVICE_POWER_MONITOR_POWER_MONITOR_MESSAGE_BROADCASTER_H_
OLDNEW
« no previous file with comments | « services/device/device_service.cc ('k') | services/device/power_monitor/power_monitor_message_broadcaster.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698