blob: ca7bbaa0b86f21ccedc9f9fe21b61e5fa6754d30 [file] [log] [blame]
Eric Shienbrood5de44ab2011-12-05 10:46:27 -05001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkova1e0a1c2011-08-25 15:08:33 -07002// 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/modem_gsm_network_proxy.h"
6
7#include <base/logging.h>
8
Eric Shienbrood5de44ab2011-12-05 10:46:27 -05009#include "shill/cellular_error.h"
10#include "shill/error.h"
11
Darin Petkova1e0a1c2011-08-25 15:08:33 -070012using std::string;
13
14namespace shill {
15
16ModemGSMNetworkProxy::ModemGSMNetworkProxy(
Darin Petkov580c7af2011-10-24 12:32:50 +020017 ModemGSMNetworkProxyDelegate *delegate,
Darin Petkova1e0a1c2011-08-25 15:08:33 -070018 DBus::Connection *connection,
19 const string &path,
20 const string &service)
Darin Petkov580c7af2011-10-24 12:32:50 +020021 : proxy_(delegate, connection, path, service) {}
Darin Petkova1e0a1c2011-08-25 15:08:33 -070022
23ModemGSMNetworkProxy::~ModemGSMNetworkProxy() {}
24
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050025void ModemGSMNetworkProxy::GetRegistrationInfo(AsyncCallHandler *call_handler,
26 int timeout) {
27 proxy_.GetRegistrationInfo(call_handler, timeout);
Darin Petkov9bac6fe2011-08-26 12:49:05 -070028}
29
Darin Petkov22b72bf2011-08-29 14:01:20 -070030uint32 ModemGSMNetworkProxy::GetSignalQuality() {
31 return proxy_.GetSignalQuality();
32}
33
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050034void ModemGSMNetworkProxy::Register(const string &network_id,
35 AsyncCallHandler *call_handler,
36 int timeout) {
37 proxy_.Register(network_id, call_handler, timeout);
Darin Petkov22b72bf2011-08-29 14:01:20 -070038}
39
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050040void ModemGSMNetworkProxy::Scan(AsyncCallHandler *call_handler, int timeout) {
41 proxy_.Scan(call_handler, timeout);
Darin Petkovc0865312011-09-16 15:31:20 -070042}
43
Darin Petkov9bac6fe2011-08-26 12:49:05 -070044uint32 ModemGSMNetworkProxy::AccessTechnology() {
45 return proxy_.AccessTechnology();
46}
47
Darin Petkov580c7af2011-10-24 12:32:50 +020048ModemGSMNetworkProxy::Proxy::Proxy(ModemGSMNetworkProxyDelegate *delegate,
Darin Petkova1e0a1c2011-08-25 15:08:33 -070049 DBus::Connection *connection,
50 const string &path,
51 const string &service)
52 : DBus::ObjectProxy(*connection, path, service.c_str()),
Darin Petkov580c7af2011-10-24 12:32:50 +020053 delegate_(delegate) {}
Darin Petkova1e0a1c2011-08-25 15:08:33 -070054
55ModemGSMNetworkProxy::Proxy::~Proxy() {}
56
57void ModemGSMNetworkProxy::Proxy::SignalQuality(const uint32 &quality) {
58 VLOG(2) << __func__ << "(" << quality << ")";
Darin Petkov580c7af2011-10-24 12:32:50 +020059 delegate_->OnGSMSignalQualityChanged(quality);
Darin Petkova1e0a1c2011-08-25 15:08:33 -070060}
61
62void ModemGSMNetworkProxy::Proxy::RegistrationInfo(
63 const uint32_t &status,
64 const string &operator_code,
65 const string &operator_name) {
66 VLOG(2) << __func__ << "(" << status << ", " << operator_code << ", "
67 << operator_name << ")";
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050068 delegate_->OnGSMRegistrationInfoChanged(status, operator_code, operator_name,
69 Error(), NULL);
Darin Petkova1e0a1c2011-08-25 15:08:33 -070070}
71
72void ModemGSMNetworkProxy::Proxy::NetworkMode(const uint32_t &mode) {
73 VLOG(2) << __func__ << "(" << mode << ")";
Darin Petkov580c7af2011-10-24 12:32:50 +020074 delegate_->OnGSMNetworkModeChanged(mode);
Darin Petkova1e0a1c2011-08-25 15:08:33 -070075}
76
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050077void ModemGSMNetworkProxy::Proxy::RegisterCallback(const DBus::Error &dberror,
78 void *data) {
79 AsyncCallHandler *call_handler = reinterpret_cast<AsyncCallHandler *>(data);
80 Error error;
81 CellularError::FromDBusError(dberror, &error);
82 delegate_->OnRegisterCallback(error, call_handler);
83}
84
85void ModemGSMNetworkProxy::Proxy::GetRegistrationInfoCallback(
86 const GSMRegistrationInfo &info, const DBus::Error &dberror, void *data) {
87 AsyncCallHandler *call_handler = reinterpret_cast<AsyncCallHandler *>(data);
88 Error error;
89 CellularError::FromDBusError(dberror, &error);
90 delegate_->OnGSMRegistrationInfoChanged(info._1, info._2, info._3,
91 error, call_handler);
92}
93
94void ModemGSMNetworkProxy::Proxy::ScanCallback(const GSMScanResults &results,
95 const DBus::Error &dberror,
96 void *data) {
97 AsyncCallHandler *call_handler = reinterpret_cast<AsyncCallHandler *>(data);
98 Error error;
99 CellularError::FromDBusError(dberror, &error);
100 delegate_->OnScanCallback(results, error, call_handler);
101}
102
Darin Petkova1e0a1c2011-08-25 15:08:33 -0700103} // namespace shill