shill: Register the modem, create service and obtain signal strength.

Also, listen for registration info and signal quality change notifications.

BUG=chromium-os:18315
TEST=unit tests, tested on device

Change-Id: I19e5e97257bc53f2004d6b7f0606da2553be4b5d
Reviewed-on: http://gerrit.chromium.org/gerrit/5328
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/modem_cdma_proxy_interface.h b/modem_cdma_proxy_interface.h
index c4f4c9c..04f058e 100644
--- a/modem_cdma_proxy_interface.h
+++ b/modem_cdma_proxy_interface.h
@@ -17,6 +17,18 @@
 
   virtual void GetRegistrationState(uint32 *cdma_1x_state,
                                     uint32 *evdo_state) = 0;
+
+  virtual uint32 GetSignalQuality() = 0;
+};
+
+// ModemManager.Modem.CDMA signal listener to be associated with the proxy.
+class ModemCDMAProxyListener {
+ public:
+  virtual ~ModemCDMAProxyListener() {}
+
+  virtual void OnCDMARegistrationStateChanged(uint32 state_1x,
+                                              uint32 state_evdo) = 0;
+  virtual void OnCDMASignalQualityChanged(uint32 strength) = 0;
 };
 
 }  // namespace shill