blob: 8325caa43285dc4676fa88c4fd18309a636c8601 [file] [log] [blame]
Ravi Chandra Sadinenid46b2592019-03-26 15:04:54 -07001// Copyright 2019 The Chromium OS 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 BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_
6#define BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_
7
8#include <power_manager/dbus-proxies.h>
9
10#include "biod/power_event_observer.h"
11
12namespace biod {
13
14class PowerManagerClientInterface {
15 public:
16 PowerManagerClientInterface() = default;
Qijiang Fan6bc59e12020-11-11 02:51:06 +090017 PowerManagerClientInterface(const PowerManagerClientInterface&) = delete;
18 PowerManagerClientInterface& operator=(const PowerManagerClientInterface&) =
19 delete;
20
Ravi Chandra Sadinenid46b2592019-03-26 15:04:54 -070021 virtual ~PowerManagerClientInterface() = default;
22
23 // Interface to add observers interested in powerd events.
24 virtual void AddObserver(PowerEventObserver* observer) = 0;
25 virtual bool HasObserver(PowerEventObserver* observer) = 0;
26 virtual void RemoveObserver(PowerEventObserver* observer) = 0;
Ravi Chandra Sadinenid46b2592019-03-26 15:04:54 -070027};
28
29} // namespace biod
30
31#endif // BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_