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/cellular_service.h b/cellular_service.h
index e074202..ad39dab 100644
--- a/cellular_service.h
+++ b/cellular_service.h
@@ -26,10 +26,14 @@
                   EventDispatcher *dispatcher,
                   Manager *manager,
                   const CellularRefPtr &device);
-  ~CellularService();
+  virtual ~CellularService();
+
   void Connect();
   void Disconnect();
 
+  uint8 strength() const { return strength_; }
+  void set_strength(uint8 strength) { strength_ = strength; }
+
  protected:
   virtual std::string CalculateState() { return "idle"; }
 
@@ -50,6 +54,7 @@
 
   CellularRefPtr cellular_;
   const std::string type_;
+
   DISALLOW_COPY_AND_ASSIGN(CellularService);
 };