Let MetricsService know about some Android Activities
[chromium-blink-merge.git] / base / test / power_monitor_test_base.h
blob6e37f3d89b0a10e8dc491d7146cd955cea92cc84
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 BASE_TEST_POWER_MONITOR_TEST_BASE_H_
6 #define BASE_TEST_POWER_MONITOR_TEST_BASE_H_
8 #include "base/message_loop/message_loop.h"
9 #include "base/power_monitor/power_monitor.h"
10 #include "base/power_monitor/power_monitor_source.h"
12 namespace base {
14 class PowerMonitorTestSource : public PowerMonitorSource {
15 public:
16 PowerMonitorTestSource();
17 virtual ~PowerMonitorTestSource();
19 void GeneratePowerStateEvent(bool on_battery_power);
20 void GenerateSuspendEvent();
21 void GenerateResumeEvent();
23 protected:
24 virtual bool IsOnBatteryPowerImpl() OVERRIDE;
26 bool test_on_battery_power_;
27 MessageLoop message_loop_;
30 class PowerMonitorTestObserver : public PowerObserver {
31 public:
32 PowerMonitorTestObserver();
33 virtual ~PowerMonitorTestObserver();
35 // PowerObserver callbacks.
36 virtual void OnPowerStateChange(bool on_battery_power) OVERRIDE;
37 virtual void OnSuspend() OVERRIDE;
38 virtual void OnResume() OVERRIDE;
40 // Test status counts.
41 bool last_power_state() { return last_power_state_; }
42 int power_state_changes() { return power_state_changes_; }
43 int suspends() { return suspends_; }
44 int resumes() { return resumes_; }
46 private:
47 bool last_power_state_; // Last power state we were notified of.
48 int power_state_changes_; // Count of OnPowerStateChange notifications.
49 int suspends_; // Count of OnSuspend notifications.
50 int resumes_; // Count of OnResume notifications.
53 } // namespace base
55 #endif // BASE_TEST_POWER_MONITOR_TEST_BASE_H_