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/rtnl_handler.cc b/rtnl_handler.cc
index 185275f..d9d8024 100644
--- a/rtnl_handler.cc
+++ b/rtnl_handler.cc
@@ -31,6 +31,9 @@
namespace shill {
+static base::LazyInstance<RTNLHandler> g_rtnl_handler(
+ base::LINKER_INITIALIZED);
+
RTNLHandler::RTNLHandler()
: sockets_(NULL),
in_request_(false),
@@ -47,7 +50,7 @@
}
RTNLHandler* RTNLHandler::GetInstance() {
- return Singleton<RTNLHandler>::get();
+ return g_rtnl_handler.Pointer();
}
void RTNLHandler::Start(EventDispatcher *dispatcher, Sockets *sockets) {