shill: Move Get{NetworkTechnology|RoamingState} to the capability delegates.

BUG=chromium-os:18735
TEST=unit tests

Change-Id: I29cd4054810d44718047717234f5ccfddf3a745c
Reviewed-on: https://gerrit.chromium.org/gerrit/11376
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/cellular.cc b/cellular.cc
index 478db55..a5b7127 100644
--- a/cellular.cc
+++ b/cellular.cc
@@ -186,84 +186,6 @@
   return StringPrintf("CellularStateUnknown-%d", state);
 }
 
-string Cellular::GetNetworkTechnologyString() const {
-  switch (type_) {
-    case kTypeGSM:
-      if (gsm_.registration_state == MM_MODEM_GSM_NETWORK_REG_STATUS_HOME ||
-          gsm_.registration_state == MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING) {
-        switch (gsm_.access_technology) {
-          case MM_MODEM_GSM_ACCESS_TECH_GSM:
-          case MM_MODEM_GSM_ACCESS_TECH_GSM_COMPACT:
-            return flimflam::kNetworkTechnologyGsm;
-          case MM_MODEM_GSM_ACCESS_TECH_GPRS:
-            return flimflam::kNetworkTechnologyGprs;
-          case MM_MODEM_GSM_ACCESS_TECH_EDGE:
-            return flimflam::kNetworkTechnologyEdge;
-          case MM_MODEM_GSM_ACCESS_TECH_UMTS:
-            return flimflam::kNetworkTechnologyUmts;
-          case MM_MODEM_GSM_ACCESS_TECH_HSDPA:
-          case MM_MODEM_GSM_ACCESS_TECH_HSUPA:
-          case MM_MODEM_GSM_ACCESS_TECH_HSPA:
-            return flimflam::kNetworkTechnologyHspa;
-          case MM_MODEM_GSM_ACCESS_TECH_HSPA_PLUS:
-            return flimflam::kNetworkTechnologyHspaPlus;
-          default:
-            NOTREACHED();
-        }
-      }
-      break;
-    case kTypeCDMA:
-      if (cdma_.registration_state_evdo !=
-          MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) {
-        return flimflam::kNetworkTechnologyEvdo;
-      }
-      if (cdma_.registration_state_1x !=
-          MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) {
-        return flimflam::kNetworkTechnology1Xrtt;
-      }
-      break;
-    default:
-      NOTREACHED();
-  }
-  return "";
-}
-
-string Cellular::GetRoamingStateString() const {
-  switch (type_) {
-    case kTypeGSM:
-      switch (gsm_.registration_state) {
-        case MM_MODEM_GSM_NETWORK_REG_STATUS_HOME:
-          return flimflam::kRoamingStateHome;
-        case MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING:
-          return flimflam::kRoamingStateRoaming;
-        default:
-          break;
-      }
-      break;
-    case kTypeCDMA: {
-      uint32 state = cdma_.registration_state_evdo;
-      if (state == MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) {
-        state = cdma_.registration_state_1x;
-      }
-      switch (state) {
-        case MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN:
-        case MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED:
-          break;
-        case MM_MODEM_CDMA_REGISTRATION_STATE_HOME:
-          return flimflam::kRoamingStateHome;
-        case MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING:
-          return flimflam::kRoamingStateRoaming;
-        default:
-          NOTREACHED();
-      }
-      break;
-    }
-    default:
-      NOTREACHED();
-  }
-  return flimflam::kRoamingStateUnknown;
-}
-
 // static
 string Cellular::GetCDMAActivationStateString(uint32 state) {
   switch (state) {
@@ -510,7 +432,7 @@
 
 void Cellular::HandleNewRegistrationStateTask() {
   VLOG(2) << __func__;
-  const string network_tech = GetNetworkTechnologyString();
+  const string network_tech = capability_->GetNetworkTechnologyString();
   if (network_tech.empty()) {
     if (state_ == kStateLinked) {
       manager()->DeregisterService(service_);
@@ -536,7 +458,7 @@
     EstablishLink();
   }
   service_->set_network_tech(network_tech);
-  service_->set_roaming_state(GetRoamingStateString());
+  service_->set_roaming_state(capability_->GetRoamingStateString());
 }
 
 void Cellular::GetModemSignalQuality() {
@@ -879,7 +801,7 @@
   CHECK_EQ(kTypeGSM, type_);
   gsm_.access_technology = access_technology;
   if (service_.get()) {
-    service_->set_network_tech(GetNetworkTechnologyString());
+    service_->set_network_tech(capability_->GetNetworkTechnologyString());
   }
 }