| // Copyright 2019 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_ |
| #define BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_ |
| |
| #include <power_manager/dbus-proxies.h> |
| |
| #include "biod/power_event_observer.h" |
| |
| namespace biod { |
| |
| class PowerManagerClientInterface { |
| public: |
| PowerManagerClientInterface() = default; |
| PowerManagerClientInterface(const PowerManagerClientInterface&) = delete; |
| PowerManagerClientInterface& operator=(const PowerManagerClientInterface&) = |
| delete; |
| |
| virtual ~PowerManagerClientInterface() = default; |
| |
| // Interface to add observers interested in powerd events. |
| virtual void AddObserver(PowerEventObserver* observer) = 0; |
| virtual bool HasObserver(PowerEventObserver* observer) = 0; |
| virtual void RemoveObserver(PowerEventObserver* observer) = 0; |
| }; |
| |
| } // namespace biod |
| |
| #endif // BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_ |