shill: Obtain the payment and usage URLs from ModemManager.

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

Change-Id: I98d800cd69684bdf9c201348c00ff79152e51e45
Reviewed-on: http://gerrit.chromium.org/gerrit/6106
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
diff --git a/cellular_service.h b/cellular_service.h
index f1b2c0a..1c75358 100644
--- a/cellular_service.h
+++ b/cellular_service.h
@@ -27,12 +27,18 @@
                   const CellularRefPtr &device);
   virtual ~CellularService();
 
-  void Connect();
-  void Disconnect();
+  virtual void Connect();
+  virtual void Disconnect();
 
   uint8 strength() const { return strength_; }
   void set_strength(uint8 strength) { strength_ = strength; }
 
+  const std::string &payment_url() const { return payment_url_; }
+  void set_payment_url(const std::string &url) { payment_url_ = url; }
+
+  const std::string &usage_url() const { return usage_url_; }
+  void set_usage_url(const std::string &url) { usage_url_ = url; }
+
  protected:
   virtual std::string CalculateState() { return "idle"; }
 
@@ -44,12 +50,13 @@
   std::string roaming_state_;
   std::string payment_url_;
   uint8 strength_;
+  std::string usage_url_;
 
   std::map<std::string, std::string> apn_info_;
   std::map<std::string, std::string> last_good_apn_info_;
 
  private:
-  std::string GetDeviceRpcId();
+  virtual std::string GetDeviceRpcId();
 
   CellularRefPtr cellular_;
   const std::string type_;