shill: Get CDMA registration state.
BUG=chromium-os:18315
TEST=unit tests, tested on device
Change-Id: Ida6d72145eb829a8d47fd23c9d30ded5308aa8cd
Reviewed-on: http://gerrit.chromium.org/gerrit/5115
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/cellular.h b/cellular.h
index 3d82516..a88cb09 100644
--- a/cellular.h
+++ b/cellular.h
@@ -16,6 +16,7 @@
namespace shill {
+class ModemCDMAProxyInterface;
class ModemProxyInterface;
class ModemSimpleProxyInterface;
@@ -61,6 +62,14 @@
DISALLOW_COPY_AND_ASSIGN(Network);
};
+ struct CDMA {
+ CDMA();
+
+ uint32 registration_state_evdo;
+ uint32 registration_state_1x;
+ uint32 activation_state;
+ };
+
struct SimLockStatus {
public:
SimLockStatus() : retries_left(0) {}
@@ -88,10 +97,13 @@
virtual bool TechnologyIs(Technology type);
private:
+ FRIEND_TEST(CellularTest, GetCDMARegistrationState);
FRIEND_TEST(CellularTest, GetModemInfo);
FRIEND_TEST(CellularTest, GetModemStatus);
FRIEND_TEST(CellularTest, GetStateString);
FRIEND_TEST(CellularTest, GetTypeString);
+ FRIEND_TEST(CellularTest, InitProxiesCDMA);
+ FRIEND_TEST(CellularTest, InitProxiesGSM);
FRIEND_TEST(CellularTest, Start);
Stringmaps EnumerateNetworks();
@@ -103,6 +115,8 @@
StrIntPair(Cellular::*get)(void),
bool(Cellular::*set)(const StrIntPair&));
+ void InitProxies();
+
std::string GetTypeString();
std::string GetStateString();
@@ -110,7 +124,6 @@
void GetModemStatus();
void GetGSMProperties();
void RegisterGSMModem();
- void GetModemRegistrationState();
void ReportEnabled();
// Obtains the modem identifiers: MEID for CDMA; IMEI, IMSI, SPN and MSISDN
@@ -120,6 +133,10 @@
// Obtain modem's manufacturer, model ID, and hardware revision.
void GetModemInfo();
+ void GetModemRegistrationState();
+ void GetCDMARegistrationState();
+ void GetGSMRegistrationState();
+
Type type_;
State state_;
@@ -127,6 +144,9 @@
const std::string dbus_path_; // ModemManager.Modem
scoped_ptr<ModemProxyInterface> proxy_;
scoped_ptr<ModemSimpleProxyInterface> simple_proxy_;
+ scoped_ptr<ModemCDMAProxyInterface> cdma_proxy_;
+
+ CDMA cdma_;
ServiceRefPtr service_;
bool service_registered_;