1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// Copyright 2013 The Chromium Authors. All rights reserved. 2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// Use of this source code is governed by a BSD-style license that can be 3f5256e16dfc425c1d466f6308d4026d529ce9e0bHoward Hinnant// found in the LICENSE file. 4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant#ifndef BASE_POWER_MONITOR_POWER_OBSERVER_H_ 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant#define BASE_POWER_MONITOR_POWER_OBSERVER_H_ 7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "base/base_export.h" 9bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include "base/compiler_specific.h" 10bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantnamespace base { 12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantclass BASE_EXPORT PowerObserver { 14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant public: 15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant // Notification of a change in power status of the computer, such 16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant // as from switching between battery and A/C power. 17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant virtual void OnPowerStateChange(bool on_battery_power) {}; 18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant // Notification that the system is suspending. 2083e2c4d877fe2d7793868b1c6a5d9525a7c4d431Marshall Clow virtual void OnSuspend() {} 21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 22bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant // Notification that the system is resuming. 23bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant virtual void OnResume() {} 24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant protected: 26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant virtual ~PowerObserver() {} 27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}; 28bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 29bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant} // namespace base 30bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 31bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#endif // BASE_POWER_MONITOR_POWER_OBSERVER_H_ 32bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant