blob: 249b7c4cdef7553f452e70751fe394018e35e85b [file] [log] [blame]
Darin Petkovbec79a22011-08-01 14:47:17 -07001// Copyright (c) 2011 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_MODEM_CDMA_PROXY_INTERFACE_
6#define SHILL_MODEM_CDMA_PROXY_INTERFACE_
7
Darin Petkovc408e692011-08-17 13:47:15 -07008#include <string>
9
Darin Petkovbec79a22011-08-01 14:47:17 -070010#include <base/basictypes.h>
11
Darin Petkovef34f182011-08-26 14:14:40 -070012#include "shill/dbus_properties.h"
13
Darin Petkovbec79a22011-08-01 14:47:17 -070014namespace shill {
15
16// These are the methods that a ModemManager.Modem.CDMA proxy must support. The
17// interface is provided so that it can be mocked in tests.
18class ModemCDMAProxyInterface {
19 public:
20 virtual ~ModemCDMAProxyInterface() {}
21
Darin Petkovc408e692011-08-17 13:47:15 -070022 virtual uint32 Activate(const std::string &carrier) = 0;
Darin Petkovbec79a22011-08-01 14:47:17 -070023 virtual void GetRegistrationState(uint32 *cdma_1x_state,
24 uint32 *evdo_state) = 0;
Darin Petkovd9661952011-08-03 16:25:42 -070025 virtual uint32 GetSignalQuality() = 0;
26};
27
28// ModemManager.Modem.CDMA signal listener to be associated with the proxy.
29class ModemCDMAProxyListener {
30 public:
31 virtual ~ModemCDMAProxyListener() {}
32
Darin Petkovb27e5442011-08-16 14:36:45 -070033 virtual void OnCDMAActivationStateChanged(
34 uint32 activation_state,
35 uint32 activation_error,
36 const DBusPropertiesMap &status_changes) = 0;
Darin Petkovd9661952011-08-03 16:25:42 -070037 virtual void OnCDMARegistrationStateChanged(uint32 state_1x,
38 uint32 state_evdo) = 0;
39 virtual void OnCDMASignalQualityChanged(uint32 strength) = 0;
Darin Petkovbec79a22011-08-01 14:47:17 -070040};
41
42} // namespace shill
43
44#endif // SHILL_MODEM_CDMA_PROXY_INTERFACE_