blob: 6f327610ed41ca5baf52bfef5e0061da1382aafa [file] [log] [blame]
Darin Petkov096b3472012-05-15 10:26:22 +02001// Copyright (c) 2012 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 SHILL_WIMAX_MANAGER_PROXY_H_
6#define SHILL_WIMAX_MANAGER_PROXY_H_
7
Alex Vakulenko8a532292014-06-16 17:18:44 -07008#include <string>
Darin Petkov096b3472012-05-15 10:26:22 +02009#include <vector>
10
11#include <base/basictypes.h>
12
Liam McLoughlinef342b42013-09-13 21:05:36 +010013#include "wimax_manager/dbus_proxies/org.chromium.WiMaxManager.h"
Darin Petkov096b3472012-05-15 10:26:22 +020014#include "shill/wimax_manager_proxy_interface.h"
15
16namespace shill {
17
18class WiMaxManagerProxy : public WiMaxManagerProxyInterface {
19 public:
Darin Petkov9893d9c2012-05-17 15:27:31 -070020 explicit WiMaxManagerProxy(DBus::Connection *connection);
Darin Petkov096b3472012-05-15 10:26:22 +020021 virtual ~WiMaxManagerProxy();
22
23 // Inherited from WiMaxManagerProxyInterface.
Darin Petkov9893d9c2012-05-17 15:27:31 -070024 virtual void set_devices_changed_callback(
25 const DevicesChangedCallback &callback);
26 virtual RpcIdentifiers Devices(Error *error);
Darin Petkov096b3472012-05-15 10:26:22 +020027
28 private:
29 class Proxy : public org::chromium::WiMaxManager_proxy,
30 public DBus::ObjectProxy {
31 public:
Darin Petkov9893d9c2012-05-17 15:27:31 -070032 explicit Proxy(DBus::Connection *connection);
Darin Petkov096b3472012-05-15 10:26:22 +020033 virtual ~Proxy();
34
Darin Petkov9893d9c2012-05-17 15:27:31 -070035 void set_devices_changed_callback(const DevicesChangedCallback &callback);
36
Darin Petkov096b3472012-05-15 10:26:22 +020037 private:
38 // Signal callbacks inherited from WiMaxManager_proxy.
Darin Petkov9893d9c2012-05-17 15:27:31 -070039 virtual void DevicesChanged(const std::vector<DBus::Path> &devices);
Darin Petkov096b3472012-05-15 10:26:22 +020040
41 // Method callbacks inherited from WiMaxManager_proxy.
42 // [None]
43
Darin Petkov9893d9c2012-05-17 15:27:31 -070044 DevicesChangedCallback devices_changed_callback_;
45
Darin Petkov096b3472012-05-15 10:26:22 +020046 DISALLOW_COPY_AND_ASSIGN(Proxy);
47 };
48
49 Proxy proxy_;
50
51 DISALLOW_COPY_AND_ASSIGN(WiMaxManagerProxy);
52};
53
54} // namespace shill
55
56#endif // SHILL_WIMAX_MANAGER_PROXY_H_