blob: 8325caa43285dc4676fa88c4fd18309a636c8601 [file] [log] [blame]
// 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_