blob: 472e6d15f5208185b8b1ad6982766284e1a7428f [file] [log] [blame]
Eric Shienbrood5de44ab2011-12-05 10:46:27 -05001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkovbec79a22011-08-01 14:47:17 -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_cdma_proxy.h"
6
7#include <base/logging.h>
8
Eric Shienbrood5de44ab2011-12-05 10:46:27 -05009#include "cellular_error.h"
10
Darin Petkovbec79a22011-08-01 14:47:17 -070011using std::string;
12
13namespace shill {
14
Darin Petkov580c7af2011-10-24 12:32:50 +020015ModemCDMAProxy::ModemCDMAProxy(ModemCDMAProxyDelegate *delegate,
Darin Petkovd9661952011-08-03 16:25:42 -070016 DBus::Connection *connection,
Darin Petkovbec79a22011-08-01 14:47:17 -070017 const string &path,
18 const string &service)
Darin Petkov580c7af2011-10-24 12:32:50 +020019 : proxy_(delegate, connection, path, service) {}
Darin Petkovbec79a22011-08-01 14:47:17 -070020
21ModemCDMAProxy::~ModemCDMAProxy() {}
22
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050023void ModemCDMAProxy::Activate(const string &carrier,
24 AsyncCallHandler *call_handler, int timeout) {
25 proxy_.Activate(carrier, call_handler, timeout);
Darin Petkovc408e692011-08-17 13:47:15 -070026}
27
Darin Petkovbec79a22011-08-01 14:47:17 -070028void ModemCDMAProxy::GetRegistrationState(uint32 *cdma_1x_state,
29 uint32 *evdo_state) {
30 proxy_.GetRegistrationState(*cdma_1x_state, *evdo_state);
31}
32
Darin Petkovd9661952011-08-03 16:25:42 -070033uint32 ModemCDMAProxy::GetSignalQuality() {
34 return proxy_.GetSignalQuality();
35}
36
Darin Petkov975b5e72011-08-30 11:48:08 -070037const string ModemCDMAProxy::MEID() {
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050038 LOG(INFO) << "ModemCDMAProxy::" << __func__;
Darin Petkov975b5e72011-08-30 11:48:08 -070039 return proxy_.Meid();
40}
41
Darin Petkov580c7af2011-10-24 12:32:50 +020042ModemCDMAProxy::Proxy::Proxy(ModemCDMAProxyDelegate *delegate,
Darin Petkovd9661952011-08-03 16:25:42 -070043 DBus::Connection *connection,
Darin Petkovbec79a22011-08-01 14:47:17 -070044 const string &path,
45 const string &service)
Darin Petkovd9661952011-08-03 16:25:42 -070046 : DBus::ObjectProxy(*connection, path, service.c_str()),
Darin Petkov580c7af2011-10-24 12:32:50 +020047 delegate_(delegate) {}
Darin Petkovbec79a22011-08-01 14:47:17 -070048
49ModemCDMAProxy::Proxy::~Proxy() {}
50
51void ModemCDMAProxy::Proxy::ActivationStateChanged(
52 const uint32 &activation_state,
53 const uint32 &activation_error,
54 const DBusPropertiesMap &status_changes) {
Darin Petkovb27e5442011-08-16 14:36:45 -070055 VLOG(2) << __func__ << "(" << activation_state << ", " << activation_error
56 << ")";
Darin Petkov580c7af2011-10-24 12:32:50 +020057 delegate_->OnCDMAActivationStateChanged(
Darin Petkovb27e5442011-08-16 14:36:45 -070058 activation_state, activation_error, status_changes);
Darin Petkovbec79a22011-08-01 14:47:17 -070059}
60
61void ModemCDMAProxy::Proxy::SignalQuality(const uint32 &quality) {
Darin Petkovd9661952011-08-03 16:25:42 -070062 VLOG(2) << __func__ << "(" << quality << ")";
Darin Petkov580c7af2011-10-24 12:32:50 +020063 delegate_->OnCDMASignalQualityChanged(quality);
Darin Petkovbec79a22011-08-01 14:47:17 -070064}
65
66void ModemCDMAProxy::Proxy::RegistrationStateChanged(
Darin Petkovd9661952011-08-03 16:25:42 -070067 const uint32 &cdma_1x_state,
68 const uint32 &evdo_state) {
69 VLOG(2) << __func__ << "(" << cdma_1x_state << ", " << evdo_state << ")";
Darin Petkov580c7af2011-10-24 12:32:50 +020070 delegate_->OnCDMARegistrationStateChanged(cdma_1x_state, evdo_state);
Darin Petkovbec79a22011-08-01 14:47:17 -070071}
72
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050073void ModemCDMAProxy::Proxy::ActivateCallback(const uint32 &status,
74 const DBus::Error &dberror,
75 void *data) {
76 VLOG(2) << __func__ << "(" << status << ")";
77 AsyncCallHandler *call_handler = reinterpret_cast<AsyncCallHandler *>(data);
78 Error error;
79 CellularError::FromDBusError(dberror, &error),
80 delegate_->OnActivateCallback(status, error, call_handler);
81}
82
Darin Petkovbec79a22011-08-01 14:47:17 -070083} // namespace shill