Move away from Singleton
Move from Singleton to LazyInstance for one-of classes in Shill.
This will allow them to be subclassed (mocked).
BUG=chromium-os:18986
TEST=Re-run unit tests
Change-Id: I83320694db5df1a263332315ad4f6955b107280b
Reviewed-on: http://gerrit.chromium.org/gerrit/5676
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/dhcp_provider.cc b/dhcp_provider.cc
index b79a2b2..e632328 100644
--- a/dhcp_provider.cc
+++ b/dhcp_provider.cc
@@ -15,6 +15,9 @@
namespace shill {
+static base::LazyInstance<DHCPProvider> g_dhcp_provider(
+ base::LINKER_INITIALIZED);
+
DHCPProvider::DHCPProvider()
: control_interface_(NULL),
dispatcher_(NULL),
@@ -27,7 +30,7 @@
}
DHCPProvider* DHCPProvider::GetInstance() {
- return Singleton<DHCPProvider>::get();
+ return g_dhcp_provider.Pointer();
}
void DHCPProvider::Init(ControlInterface *control_interface,