[shill] Add getting/setting for ipconfig properties

BUG=chromium-os:17261
TEST=unit tests

Change-Id: I96aed7c979c7913c568d00ce408a662898969d76
Reviewed-on: http://gerrit.chromium.org/gerrit/3583
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/ipconfig.h b/ipconfig.h
index 08915e3..f4f634d 100644
--- a/ipconfig.h
+++ b/ipconfig.h
@@ -38,13 +38,15 @@
 
     AddressFamily address_family;
     std::string address;
-    int subnet_cidr;
+    int32 subnet_cidr;
     std::string broadcast_address;
-    std::string gateway;
     std::vector<std::string> dns_servers;
     std::string domain_name;
     std::vector<std::string> domain_search;
-    int mtu;
+    std::string gateway;
+    std::string method;
+    std::string peer_address;
+    int32 mtu;
   };
 
   explicit IPConfig(const std::string &device_name);
@@ -72,6 +74,14 @@
   virtual bool RenewIP();
   virtual bool ReleaseIP();
 
+  // Implementation of PropertyStore
+  virtual bool SetInt32Property(const std::string& name,
+                                int32 value,
+                                Error *error);
+  virtual bool SetStringProperty(const std::string &name,
+                                 const std::string &value,
+                                 Error *error);
+
  protected:
   // Updates the IP configuration properties and notifies registered listeners
   // about the event. |success| is set to false if the IP configuration failed.