shill: Create an IPAddress store in Manager for ConnectionHealthChecker

(1) Added class IPAddressStore
(2) Added an IPAddressStore object to Manager
(3) ConnectionHealthChecker uses this object so that the store persists
    across Device resets.

BUG=chromium:232883
TEST=(1)build and run unit-tests.
     (2)Check that DHCP renewal works -- connect the device to the same
        wifi network twice and verify wifi is connected.

Change-Id: Ia5ee314db46c3de2e037f59c1f99a248c80e4ef9
Reviewed-on: https://gerrit.chromium.org/gerrit/49487
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/mock_ip_address_store.h b/mock_ip_address_store.h
new file mode 100644
index 0000000..1e3640c
--- /dev/null
+++ b/mock_ip_address_store.h
@@ -0,0 +1,32 @@
+// Copyright (c) 2012 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_IP_ADDRESS_STORE_H_
+#define SHILL_MOCK_IP_ADDRESS_STORE_H_
+
+#include <base/basictypes.h>
+#include <gmock/gmock.h>
+
+#include "shill/ip_address_store.h"
+
+namespace shill {
+
+class MockIPAddressStore : public IPAddressStore {
+ public:
+  MockIPAddressStore();
+  virtual ~MockIPAddressStore();
+
+  MOCK_METHOD1(AddUnique, void(const IPAddress &ip));
+  MOCK_METHOD0(Clear, void());
+  MOCK_CONST_METHOD0(Count, size_t());
+  MOCK_CONST_METHOD0(Empty, bool());
+  MOCK_METHOD0(GetRandomIP, IPAddress());
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockIPAddressStore);
+};
+
+}  // namespace shill
+
+#endif  // SHILL_MOCK_IP_ADDRESS_STORE_H_