blob: 7f242d1d8c9c80fb7c6e18ab2f36be59cf8f6c04 [file] [log] [blame]
// Copyright (c) 2012 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 WIMAX_MANAGER_DBUS_SERVICE_H_
#define WIMAX_MANAGER_DBUS_SERVICE_H_
#include <memory>
#include <string>
#include <base/macros.h>
#include "wimax_manager/dbus_proxiable.h"
namespace wimax_manager {
class DBusServiceDBusProxy;
class Manager;
class PowerManager;
class DBusService : public DBusProxiable<DBusService, DBusServiceDBusProxy> {
public:
explicit DBusService(Manager *manager);
~DBusService();
void Initialize();
void Finalize();
bool NameHasOwner(const std::string &name);
void OnNameOwnerChanged(const std::string &name,
const std::string &old_owner,
const std::string &new_owner);
private:
void SetPowerManager(PowerManager *power_manager);
Manager *manager_;
std::unique_ptr<PowerManager> power_manager_;
DISALLOW_COPY_AND_ASSIGN(DBusService);
};
} // namespace wimax_manager
#endif // WIMAX_MANAGER_DBUS_SERVICE_H_