blob: d1bccc15af523f216becb20382281514b84b9b75 [file] [log] [blame]
Darin Petkov9893d9c2012-05-17 15:27:31 -07001// 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_NETWORK_PROXY_H_
6#define SHILL_WIMAX_NETWORK_PROXY_H_
7
8#include "shill/dbus_bindings/wimax_manager-network.h"
9#include "shill/wimax_network_proxy_interface.h"
10
11namespace shill {
12
13class WiMaxNetworkProxy : public WiMaxNetworkProxyInterface {
14 public:
15 // Constructs a WiMaxManager.Network DBus object proxy at |path|.
16 WiMaxNetworkProxy(DBus::Connection *connection,
17 const DBus::Path &path);
18 virtual ~WiMaxNetworkProxy();
19
20 // Inherited from WiMaxNetwokProxyInterface.
Ben Chan4e5c1312012-05-18 18:45:38 -070021 virtual DBus::Path proxy_object_path() const;
Darin Petkov9893d9c2012-05-17 15:27:31 -070022 virtual uint32 Identifier(Error *error);
23 virtual std::string Name(Error *error);
24 virtual int Type(Error *error);
25 virtual int CINR(Error *error);
26 virtual int RSSI(Error *error);
Ben Chanac6e8362012-05-20 00:39:58 -070027 virtual int SignalStrength(Error *error);
Darin Petkov9893d9c2012-05-17 15:27:31 -070028
29 private:
30 class Proxy : public org::chromium::WiMaxManager::Network_proxy,
31 public DBus::ObjectProxy {
32 public:
33 Proxy(DBus::Connection *connection, const DBus::Path &path);
34 virtual ~Proxy();
35
36 private:
37 // Signal callbacks inherited from WiMaxManager::Network_proxy.
38 // [None]
39
40 // Method callbacks inherited from WiMaxManager::Network_proxy.
41 // [None]
42
43 DISALLOW_COPY_AND_ASSIGN(Proxy);
44 };
45
46 static void FromDBusError(const DBus::Error &dbus_error, Error *error);
47
48 Proxy proxy_;
49
50 DISALLOW_COPY_AND_ASSIGN(WiMaxNetworkProxy);
51};
52
53} // namespace shill
54
55#endif // SHILL_WIMAX_NETWORK_PROXY_H_