[shill] Use flimflam-esque storage ids

Devices:
  device_<MAC>

IPConfig:
  ipconfig_<MAC of associated device>_0

Services:
  ethernet_<MAC of associated device>
  wifi_<MAC of associated device>_<SSID>_<mode>_<security>
  cellular_<MAC of associated device>_<Network_name>

BUG=chromium-os:17744
TEST=unit

Change-Id: Ibf061f9c184e7c86f5afcf97d48e321fc74bde1c
Reviewed-on: http://gerrit.chromium.org/gerrit/6412
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/mock_ipconfig.h b/mock_ipconfig.h
new file mode 100644
index 0000000..b5772e2
--- /dev/null
+++ b/mock_ipconfig.h
@@ -0,0 +1,34 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SHILL_MOCK_IPCONFIG_
+#define SHILL_MOCK_IPCONFIG_
+
+#include <base/memory/ref_counted.h>
+#include <gmock/gmock.h>
+
+#include "shill/ipconfig.h"
+
+namespace shill {
+class ControlInterface;
+
+class MockIPConfig : public IPConfig {
+ public:
+  MockIPConfig(ControlInterface *control_interface,
+               const std::string &device_name)
+      : IPConfig(control_interface, device_name) {
+  }
+  virtual ~MockIPConfig() {}
+
+  MOCK_METHOD0(RequestIP, bool(void));
+  MOCK_METHOD0(RenewIP, bool(void));
+  MOCK_METHOD0(ReleaseIP, bool(void));
+
+  MOCK_METHOD2(Load, bool(StoreInterface *, const std::string &));
+  MOCK_METHOD2(Save, bool(StoreInterface *, const std::string &));
+};
+
+}  // namespace shill
+
+#endif  // SHILL_MOCK_IPCONFIG_