blob: 9859d67796963a9e26efe94159eb6221c51163a5 [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#include "shill/wimax_network_proxy.h"
6
7#include <base/logging.h>
8#include <chromeos/dbus/service_constants.h>
9
10#include "shill/error.h"
11#include "shill/scope_logger.h"
12
13using std::string;
14
15namespace shill {
16
17WiMaxNetworkProxy::WiMaxNetworkProxy(DBus::Connection *connection,
18 const DBus::Path &path)
19 : proxy_(connection, path) {}
20
21WiMaxNetworkProxy::~WiMaxNetworkProxy() {}
22
Ben Chan4e5c1312012-05-18 18:45:38 -070023DBus::Path WiMaxNetworkProxy::proxy_object_path() const {
24 return proxy_.path();
25}
26
Darin Petkov9893d9c2012-05-17 15:27:31 -070027uint32 WiMaxNetworkProxy::Identifier(Error *error) {
28 SLOG(DBus, 2) << __func__;
29 try {
30 return proxy_.Identifier();
31 } catch (const DBus::Error &e) {
32 FromDBusError(e, error);
33 }
34 return 0;
35}
36
37string WiMaxNetworkProxy::Name(Error *error) {
38 SLOG(DBus, 2) << __func__;
39 try {
40 return proxy_.Name();
41 } catch (const DBus::Error &e) {
42 FromDBusError(e, error);
43 }
44 return string();
45}
46
47int WiMaxNetworkProxy::Type(Error *error) {
48 SLOG(DBus, 2) << __func__;
49 try {
50 return proxy_.Type();
51 } catch (const DBus::Error &e) {
52 FromDBusError(e, error);
53 }
54 return 0;
55}
56
57int WiMaxNetworkProxy::CINR(Error *error) {
58 SLOG(DBus, 2) << __func__;
59 try {
60 return proxy_.CINR();
61 } catch (const DBus::Error &e) {
62 FromDBusError(e, error);
63 }
64 return 0;
65}
66
67int WiMaxNetworkProxy::RSSI(Error *error) {
68 SLOG(DBus, 2) << __func__;
69 try {
70 return proxy_.RSSI();
71 } catch (const DBus::Error &e) {
72 FromDBusError(e, error);
73 }
74 return 0;
75}
76
77// static
78void WiMaxNetworkProxy::FromDBusError(const DBus::Error &dbus_error,
79 Error *error) {
80 if (!error) {
81 return;
82 }
83 if (!dbus_error.is_set()) {
84 error->Reset();
85 return;
86 }
87 Error::PopulateAndLog(error, Error::kOperationFailed, dbus_error.what());
88}
89
90WiMaxNetworkProxy::Proxy::Proxy(DBus::Connection *connection,
91 const DBus::Path &path)
92 : DBus::ObjectProxy(*connection, path,
93 wimax_manager::kWiMaxManagerServiceName) {}
94
95WiMaxNetworkProxy::Proxy::~Proxy() {}
96
97} // namespace shill