shill: Define mock constructors/destructors in .cc files -- round 1.

The intent is to make compilation faster. See bug report for more info. More to
come.

BUG=chromium-os:19691
TEST=unit tests

Change-Id: Icedbfa7ea21224cc818d3708eebd5582bc11ab4d
Reviewed-on: http://gerrit.chromium.org/gerrit/6773
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/Makefile b/Makefile
index 2cbc883..f072b0d 100644
--- a/Makefile
+++ b/Makefile
@@ -156,7 +156,13 @@
 	manager_unittest.o \
 	mock_adaptors.o \
 	mock_control.o \
+	mock_dbus_properties_proxy.o \
 	mock_device.o \
+	mock_device_info.o \
+	mock_dhcp_config.o \
+	mock_dhcp_provider.o \
+	mock_dhcp_proxy.o \
+	mock_glib.o \
 	mock_profile.o \
 	mock_service.o \
 	modem_info_unittest.o \
diff --git a/mock_dbus_properties_proxy.cc b/mock_dbus_properties_proxy.cc
new file mode 100644
index 0000000..1556c11
--- /dev/null
+++ b/mock_dbus_properties_proxy.cc
@@ -0,0 +1,13 @@
+// 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.
+
+#include "shill/mock_dbus_properties_proxy.h"
+
+namespace shill {
+
+MockDBusPropertiesProxy::MockDBusPropertiesProxy() {}
+
+MockDBusPropertiesProxy::~MockDBusPropertiesProxy() {}
+
+}  // namespace shill
diff --git a/mock_dbus_properties_proxy.h b/mock_dbus_properties_proxy.h
index 18b5d6e..710da30 100644
--- a/mock_dbus_properties_proxy.h
+++ b/mock_dbus_properties_proxy.h
@@ -5,6 +5,7 @@
 #ifndef SHILL_MOCK_DBUS_PROPERTIES_PROXY_H_
 #define SHILL_MOCK_DBUS_PROPERTIES_PROXY_H_
 
+#include <base/basictypes.h>
 #include <gmock/gmock.h>
 
 #include "shill/dbus_properties_proxy_interface.h"
@@ -13,7 +14,13 @@
 
 class MockDBusPropertiesProxy : public DBusPropertiesProxyInterface {
  public:
+  MockDBusPropertiesProxy();
+  virtual ~MockDBusPropertiesProxy();
+
   MOCK_METHOD1(GetAll, DBusPropertiesMap(const std::string &interface_name));
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockDBusPropertiesProxy);
 };
 
 }  // namespace shill
diff --git a/mock_device_info.cc b/mock_device_info.cc
new file mode 100644
index 0000000..b0941bf
--- /dev/null
+++ b/mock_device_info.cc
@@ -0,0 +1,16 @@
+// 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.
+
+#include "shill/mock_device_info.h"
+
+namespace shill {
+
+MockDeviceInfo::MockDeviceInfo(ControlInterface *control_interface,
+                               EventDispatcher *dispatcher,
+                               Manager *manager)
+    : DeviceInfo(control_interface, dispatcher, manager) {}
+
+MockDeviceInfo::~MockDeviceInfo() {}
+
+}  // namespace shill
diff --git a/mock_device_info.h b/mock_device_info.h
index 0c36154..97ddd2c 100644
--- a/mock_device_info.h
+++ b/mock_device_info.h
@@ -5,7 +5,7 @@
 #ifndef SHILL_MOCK_DEVICE_INFO_
 #define SHILL_MOCK_DEVICE_INFO_
 
-#include <base/memory/ref_counted.h>
+#include <base/basictypes.h>
 #include <gmock/gmock.h>
 
 #include "shill/device_info.h"
@@ -21,10 +21,8 @@
  public:
   MockDeviceInfo(ControlInterface *control_interface,
                  EventDispatcher *dispatcher,
-                 Manager *manager)
-      : DeviceInfo(control_interface, dispatcher, manager) {
-  }
-  ~MockDeviceInfo() {}
+                 Manager *manager);
+  virtual ~MockDeviceInfo();
 
   MOCK_CONST_METHOD2(GetAddress, bool(int, ByteString*));
   MOCK_CONST_METHOD2(GetFlags, bool(int, unsigned int*));
diff --git a/mock_dhcp_config.cc b/mock_dhcp_config.cc
new file mode 100644
index 0000000..1ff551d
--- /dev/null
+++ b/mock_dhcp_config.cc
@@ -0,0 +1,22 @@
+// 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.
+
+#include "shill/mock_dhcp_config.h"
+
+namespace shill {
+
+MockDHCPConfig::MockDHCPConfig(ControlInterface *control_interface,
+                               EventDispatcher *dispatcher,
+                               DHCPProvider *provider,
+                               const std::string &device_name,
+                               GLib *glib)
+    : DHCPConfig(control_interface,
+                 dispatcher,
+                 provider,
+                 device_name,
+                 glib) {}
+
+MockDHCPConfig::~MockDHCPConfig() {}
+
+}  // namespace shill
diff --git a/mock_dhcp_config.h b/mock_dhcp_config.h
index 3572e82..6f27cc0 100644
--- a/mock_dhcp_config.h
+++ b/mock_dhcp_config.h
@@ -5,6 +5,7 @@
 #ifndef SHILL_MOCK_DHCP_CONFIG_H_
 #define SHILL_MOCK_DHCP_CONFIG_H_
 
+#include <base/basictypes.h>
 #include <gmock/gmock.h>
 
 #include "shill/dhcp_config.h"
@@ -17,14 +18,13 @@
                  EventDispatcher *dispatcher,
                  DHCPProvider *provider,
                  const std::string &device_name,
-                 GLib *glib)
-      : DHCPConfig(control_interface,
-                   dispatcher,
-                   provider,
-                   device_name,
-                   glib) {}
+                 GLib *glib);
+  virtual ~MockDHCPConfig();
 
   MOCK_METHOD0(RequestIP, bool());
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockDHCPConfig);
 };
 
 }  // namespace shill
diff --git a/mock_dhcp_provider.cc b/mock_dhcp_provider.cc
new file mode 100644
index 0000000..cce0bd2
--- /dev/null
+++ b/mock_dhcp_provider.cc
@@ -0,0 +1,15 @@
+// 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.
+
+#include "shill/mock_dhcp_provider.h"
+
+#include "shill/dhcp_config.h"
+
+namespace shill {
+
+MockDHCPProvider::MockDHCPProvider() {}
+
+MockDHCPProvider::~MockDHCPProvider() {}
+
+}  // namespace shill
diff --git a/mock_dhcp_provider.h b/mock_dhcp_provider.h
index 4154103..6fd9aa7 100644
--- a/mock_dhcp_provider.h
+++ b/mock_dhcp_provider.h
@@ -5,16 +5,22 @@
 #ifndef SHILL_MOCK_DHCP_PROVIDER_H_
 #define SHILL_MOCK_DHCP_PROVIDER_H_
 
+#include <base/basictypes.h>
 #include <gmock/gmock.h>
 
-#include "shill/dhcp_config.h"
 #include "shill/dhcp_provider.h"
 
 namespace shill {
 
 class MockDHCPProvider : public DHCPProvider {
  public:
+  MockDHCPProvider();
+  virtual ~MockDHCPProvider();
+
   MOCK_METHOD1(CreateConfig, DHCPConfigRefPtr(const std::string &device_name));
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockDHCPProvider);
 };
 
 }  // namespace shill
diff --git a/mock_dhcp_proxy.cc b/mock_dhcp_proxy.cc
new file mode 100644
index 0000000..cc6f837
--- /dev/null
+++ b/mock_dhcp_proxy.cc
@@ -0,0 +1,13 @@
+// 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.
+
+#include "shill/mock_dhcp_proxy.h"
+
+namespace shill {
+
+MockDHCPProxy::MockDHCPProxy() {}
+
+MockDHCPProxy::~MockDHCPProxy() {}
+
+}  // namespace shill
diff --git a/mock_dhcp_proxy.h b/mock_dhcp_proxy.h
index 4d7732e..a45abe3 100644
--- a/mock_dhcp_proxy.h
+++ b/mock_dhcp_proxy.h
@@ -5,6 +5,7 @@
 #ifndef SHILL_MOCK_DHCP_PROXY_H_
 #define SHILL_MOCK_DHCP_PROXY_H_
 
+#include <base/basictypes.h>
 #include <gmock/gmock.h>
 
 #include "shill/dhcp_proxy_interface.h"
@@ -13,8 +14,14 @@
 
 class MockDHCPProxy : public DHCPProxyInterface {
  public:
+  MockDHCPProxy();
+  virtual ~MockDHCPProxy();
+
   MOCK_METHOD1(Rebind, void(const std::string &interface));
   MOCK_METHOD1(Release, void(const std::string &interface));
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockDHCPProxy);
 };
 
 }  // namespace shill
diff --git a/mock_glib.cc b/mock_glib.cc
new file mode 100644
index 0000000..f11cdb3
--- /dev/null
+++ b/mock_glib.cc
@@ -0,0 +1,13 @@
+// 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.
+
+#include "shill/mock_glib.h"
+
+namespace shill {
+
+MockGLib::MockGLib() {}
+
+MockGLib::~MockGLib() {}
+
+}  // namespace shill
diff --git a/mock_glib.h b/mock_glib.h
index 5cc3037..d519441 100644
--- a/mock_glib.h
+++ b/mock_glib.h
@@ -5,6 +5,7 @@
 #ifndef SHILL_MOCK_GLIB_H_
 #define SHILL_MOCK_GLIB_H_
 
+#include <base/basictypes.h>
 #include <gmock/gmock.h>
 
 #include "shill/glib.h"
@@ -13,6 +14,9 @@
 
 class MockGLib : public GLib {
  public:
+  MockGLib();
+  virtual ~MockGLib();
+
   MOCK_METHOD2(Base64Decode, guchar *(const gchar *text, gsize *out_len));
   MOCK_METHOD2(Base64Encode, gchar *(const guchar *data, gsize len));
   MOCK_METHOD1(BusUnwatchName, void(guint watcher_id));
@@ -94,6 +98,9 @@
   MOCK_METHOD1(SpawnClosePID, void(GPid pid));
   MOCK_METHOD1(Strfreev, void(gchar **str_array));
   MOCK_METHOD0(TypeInit, void());
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockGLib);
 };
 
 }  // namespace shill