blob: ea9a5dd1b71c0ed08d26e2ebc914c14f09c073cd [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;
17 virtual ~PowerManagerClientInterface() = default;
18
19 // Interface to add observers interested in powerd events.
20 virtual void AddObserver(PowerEventObserver* observer) = 0;
21 virtual bool HasObserver(PowerEventObserver* observer) = 0;
22 virtual void RemoveObserver(PowerEventObserver* observer) = 0;
23
24 private:
25 DISALLOW_COPY_AND_ASSIGN(PowerManagerClientInterface);
26};
27
28} // namespace biod
29
30#endif // BIOD_POWER_MANAGER_CLIENT_INTERFACE_H_