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/metrics.h b/metrics.h
index 28208aa..1df9e5d 100644
--- a/metrics.h
+++ b/metrics.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// 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.
@@ -116,11 +116,9 @@
static const int kTimerHistogramMinMilliseconds;
static const int kTimerHistogramNumBuckets;
+ Metrics();
virtual ~Metrics();
- // This is a singleton -- use Metrics::GetInstance()->Foo()
- static Metrics *GetInstance();
-
// Converts the WiFi frequency into the associated UMA channel enumerator.
static WiFiChannel WiFiFrequencyToChannel(uint16 frequency);
@@ -209,8 +207,6 @@
static const uint16 kWiFiFrequency5745;
static const uint16 kWiFiFrequency5825;
- Metrics();
-
void InitializeCommonServiceMetrics(const Service *service);
void UpdateServiceStateTransitionMetrics(ServiceMetrics *service_metrics,
Service::ConnectState new_state);