shill: Move Metrics from singleton to Shill daemon
While implementing chromium-os:24810, it was discovered that Metrics is
cleaner if it is passed around like ControlInterface, Dispatcher,
Manager, etc. This approach also makes Metrics more testable.
BUG=chromium-os:24810
TEST=Unit tests, network_WiFiManager suite
Change-Id: I556a1bd11f21f0b93ecfeaae8855dfb99ed5e5f9
Reviewed-on: https://gerrit.chromium.org/gerrit/14099
Commit-Ready: Thieu Le <thieule@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
diff --git a/cellular.cc b/cellular.cc
index 1c34eac..1698292 100644
--- a/cellular.cc
+++ b/cellular.cc
@@ -84,6 +84,7 @@
Cellular::Cellular(ControlInterface *control_interface,
EventDispatcher *dispatcher,
+ Metrics *metrics,
Manager *manager,
const string &link_name,
const string &address,
@@ -94,6 +95,7 @@
mobile_provider_db *provider_db)
: Device(control_interface,
dispatcher,
+ metrics,
manager,
link_name,
address,
@@ -320,7 +322,8 @@
VLOG(2) << __func__;
CHECK(!service_.get());
service_ =
- new CellularService(control_interface(), dispatcher(), manager(), this);
+ new CellularService(control_interface(), dispatcher(), metrics(),
+ manager(), this);
capability_->OnServiceCreated();
}