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_capability_cdma.cc b/cellular_capability_cdma.cc
index ee97e5f..a625dde 100644
--- a/cellular_capability_cdma.cc
+++ b/cellular_capability_cdma.cc
@@ -5,10 +5,14 @@
#include "shill/cellular_capability_cdma.h"
#include <base/logging.h>
+#include <chromeos/dbus/service_constants.h>
+#include <mm/mm-modem.h>
#include "shill/cellular.h"
#include "shill/proxy_factory.h"
+using std::string;
+
namespace shill {
CellularCapabilityCDMA::CellularCapabilityCDMA(Cellular *cellular)
@@ -32,4 +36,35 @@
}
}
+string CellularCapabilityCDMA::GetNetworkTechnologyString() const {
+ if (cellular()->cdma_registration_state_evdo() !=
+ MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) {
+ return flimflam::kNetworkTechnologyEvdo;
+ }
+ if (cellular()->cdma_registration_state_1x() !=
+ MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) {
+ return flimflam::kNetworkTechnology1Xrtt;
+ }
+ return "";
+}
+
+string CellularCapabilityCDMA::GetRoamingStateString() const {
+ uint32 state = cellular()->cdma_registration_state_evdo();
+ if (state == MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) {
+ state = cellular()->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();
+ }
+ return flimflam::kRoamingStateUnknown;
+}
+
} // namespace shill