| // 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_ |