blob: b66a551ca63a2ec2cbeae87f6afc19ded34b1822 [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.
21 virtual uint32 Identifier(Error *error);
22 virtual std::string Name(Error *error);
23 virtual int Type(Error *error);
24 virtual int CINR(Error *error);
25 virtual int RSSI(Error *error);
26
27 private:
28 class Proxy : public org::chromium::WiMaxManager::Network_proxy,
29 public DBus::ObjectProxy {
30 public:
31 Proxy(DBus::Connection *connection, const DBus::Path &path);
32 virtual ~Proxy();
33
34 private:
35 // Signal callbacks inherited from WiMaxManager::Network_proxy.
36 // [None]
37
38 // Method callbacks inherited from WiMaxManager::Network_proxy.
39 // [None]
40
41 DISALLOW_COPY_AND_ASSIGN(Proxy);
42 };
43
44 static void FromDBusError(const DBus::Error &dbus_error, Error *error);
45
46 Proxy proxy_;
47
48 DISALLOW_COPY_AND_ASSIGN(WiMaxNetworkProxy);
49};
50
51} // namespace shill
52
53#endif // SHILL_WIMAX_NETWORK_PROXY_H_