blob: 01c2ed974a1018fcaa0307cff492311d3e2b0a06 [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
Ben Chanc45688b2014-07-02 23:50:45 -07005#ifndef SHILL_MODEM_CDMA_PROXY_H_
6#define SHILL_MODEM_CDMA_PROXY_H_
Darin Petkovbec79a22011-08-01 14:47:17 -07007
Hristo Stefanoved2c28c2011-11-29 15:37:30 -08008#include <string>
9
Liam McLoughlinef342b42013-09-13 21:05:36 +010010#include "dbus_proxies/org.freedesktop.ModemManager.Modem.Cdma.h"
Darin Petkovbec79a22011-08-01 14:47:17 -070011#include "shill/dbus_properties.h"
12#include "shill/modem_cdma_proxy_interface.h"
13
14namespace shill {
15
mukesh agrawalf407d592013-07-31 11:37:57 -070016// A proxy to (old) ModemManager.Modem.CDMA.
Darin Petkovbec79a22011-08-01 14:47:17 -070017class ModemCDMAProxy : public ModemCDMAProxyInterface {
18 public:
Darin Petkovd9661952011-08-03 16:25:42 -070019 // Constructs a ModemManager.Modem.CDMA DBus object proxy at |path| owned by
Eric Shienbrood9a245532012-03-07 14:20:39 -050020 // |service|.
21 ModemCDMAProxy(DBus::Connection *connection,
Darin Petkovbec79a22011-08-01 14:47:17 -070022 const std::string &path,
23 const std::string &service);
24 virtual ~ModemCDMAProxy();
25
26 // Inherited from ModemCDMAProxyInterface.
Eric Shienbrood9a245532012-03-07 14:20:39 -050027 virtual void Activate(const std::string &carrier, Error *error,
28 const ActivationResultCallback &callback, int timeout);
29 virtual void GetRegistrationState(Error *error,
30 const RegistrationStateCallback &callback,
31 int timeout);
32 virtual void GetSignalQuality(Error *error,
33 const SignalQualityCallback &callback,
34 int timeout);
Darin Petkov975b5e72011-08-30 11:48:08 -070035 virtual const std::string MEID();
Darin Petkovbec79a22011-08-01 14:47:17 -070036
Eric Shienbrood9a245532012-03-07 14:20:39 -050037 virtual void set_activation_state_callback(
38 const ActivationStateSignalCallback &callback);
39 virtual void set_signal_quality_callback(
40 const SignalQualitySignalCallback &callback);
41 virtual void set_registration_state_callback(
42 const RegistrationStateSignalCallback &callback);
43
44 public:
45 class Proxy
46 : public org::freedesktop::ModemManager::Modem::Cdma_proxy,
47 public DBus::ObjectProxy {
Darin Petkovbec79a22011-08-01 14:47:17 -070048 public:
Eric Shienbrood9a245532012-03-07 14:20:39 -050049 Proxy(DBus::Connection *connection,
Darin Petkovbec79a22011-08-01 14:47:17 -070050 const std::string &path,
51 const std::string &service);
52 virtual ~Proxy();
53
Eric Shienbrood9a245532012-03-07 14:20:39 -050054 void set_activation_state_callback(
55 const ActivationStateSignalCallback &callback);
56 void set_signal_quality_callback(
57 const SignalQualitySignalCallback &callback);
58 void set_registration_state_callback(
59 const RegistrationStateSignalCallback &callback);
60
Darin Petkovbec79a22011-08-01 14:47:17 -070061 private:
62 // Signal callbacks inherited from ModemManager::Modem::Cdma_proxy.
63 virtual void ActivationStateChanged(
64 const uint32 &activation_state,
65 const uint32 &activation_error,
66 const DBusPropertiesMap &status_changes);
67 virtual void SignalQuality(const uint32 &quality);
Darin Petkovd9661952011-08-03 16:25:42 -070068 virtual void RegistrationStateChanged(const uint32 &cdma_1x_state,
69 const uint32 &evdo_state);
70
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050071 // Method callbacks inherited from ModemManager::Modem::Cdma_proxy.
72 virtual void ActivateCallback(const uint32 &status,
73 const DBus::Error &dberror, void *data);
Eric Shienbrood9a245532012-03-07 14:20:39 -050074 virtual void GetRegistrationStateCallback(const uint32 &state_1x,
75 const uint32 &state_evdo,
76 const DBus::Error &error,
77 void *data);
78 virtual void GetSignalQualityCallback(const uint32 &quality,
79 const DBus::Error &dberror,
80 void *data);
Eric Shienbrood5de44ab2011-12-05 10:46:27 -050081
Eric Shienbrood9a245532012-03-07 14:20:39 -050082 ActivationStateSignalCallback activation_state_callback_;
83 SignalQualitySignalCallback signal_quality_callback_;
84 RegistrationStateSignalCallback registration_state_callback_;
Darin Petkovbec79a22011-08-01 14:47:17 -070085
86 DISALLOW_COPY_AND_ASSIGN(Proxy);
87 };
88
89 Proxy proxy_;
90
Alex Vakulenko8a532292014-06-16 17:18:44 -070091 private:
Darin Petkovbec79a22011-08-01 14:47:17 -070092 DISALLOW_COPY_AND_ASSIGN(ModemCDMAProxy);
93};
94
95} // namespace shill
96
Ben Chanc45688b2014-07-02 23:50:45 -070097#endif // SHILL_MODEM_CDMA_PROXY_H_