IndexedDBFactory now ForceCloses databases.
[chromium-blink-merge.git] / content / browser / power_monitor_message_broadcaster.h
blob04af601d7190ad19eb2f43d82ab559a89885be89
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
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_POWER_MONITOR_MESSAGE_BROADCASTER_H_
6 #define CONTENT_BROWSER_POWER_MONITOR_MESSAGE_BROADCASTER_H_
8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h"
10 #include "base/power_monitor/power_observer.h"
11 #include "content/common/content_export.h"
12 #include "content/public/browser/browser_thread.h"
14 namespace IPC {
15 class Sender;
18 namespace content {
20 // A class used to monitor the power state change and communicate it to child
21 // processes via IPC.
22 class CONTENT_EXPORT PowerMonitorMessageBroadcaster
23 : public base::PowerObserver {
24 public:
25 explicit PowerMonitorMessageBroadcaster(IPC::Sender* sender);
26 virtual ~PowerMonitorMessageBroadcaster();
28 // Implement PowerObserver.
29 virtual void OnPowerStateChange(bool on_battery_power) OVERRIDE;
30 virtual void OnSuspend() OVERRIDE;
31 virtual void OnResume() OVERRIDE;
33 private:
34 IPC::Sender* sender_;
36 DISALLOW_COPY_AND_ASSIGN(PowerMonitorMessageBroadcaster);
39 } // namespace base
41 #endif // CONTENT_BROWSER_POWER_MONITOR_MESSAGE_BROADCASTER_H_