Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / browser / battery_status / battery_status_message_filter.h
1 // Copyright 2014 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.
4
5 #ifndef CONTENT_BROWSER_BATTERY_STATUS_BATTERY_STATUS_MESSAGE_FILTER_H_
6 #define CONTENT_BROWSER_BATTERY_STATUS_BATTERY_STATUS_MESSAGE_FILTER_H_
7
8 #include "content/browser/battery_status/battery_status_service.h"
9 #include "content/public/browser/browser_message_filter.h"
10
11 namespace content {
12
13 class BatteryStatusMessageFilter : public BrowserMessageFilter {
14  public:
15   BatteryStatusMessageFilter();
16
17   // BrowserMessageFilter implementation.
18   bool OnMessageReceived(const IPC::Message& message) override;
19
20  private:
21   ~BatteryStatusMessageFilter() override;
22
23   void OnBatteryStatusStart();
24   void OnBatteryStatusStop();
25   void SendBatteryChange(const blink::WebBatteryStatus& status);
26
27   BatteryStatusService::BatteryUpdateCallback callback_;
28   scoped_ptr<BatteryStatusService::BatteryUpdateSubscription> subscription_;
29   bool is_started_;
30
31   DISALLOW_COPY_AND_ASSIGN(BatteryStatusMessageFilter);
32 };
33
34 }  // namespace content
35
36 #endif  // CONTENT_BROWSER_BATTERY_STATUS_BATTERY_STATUS_MESSAGE_FILTER_H_