shill: Add code to track disconnect metric.

BUG=chromium-os:25958
TEST=Unit tests, network_WiFiManager

Change-Id: I4cee4d4380dc822c9bed61e006df304c6c6fbdde
Reviewed-on: https://gerrit.chromium.org/gerrit/15850
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 11cf0c4..2aac1f1 100644
--- a/metrics.h
+++ b/metrics.h
@@ -100,6 +100,10 @@
     kWiFiSecurityMax
   };
 
+  static const char kMetricDisconnect[];
+  static const int kMetricDisconnectMax;
+  static const int kMetricDisconnectMin;
+  static const int kMetricDisconnectNumBuckets;
   static const char kMetricNetworkChannel[];
   static const int kMetricNetworkChannelMax;
   static const char kMetricNetworkPhyMode[];
@@ -159,10 +163,8 @@
   virtual void NotifyServiceStateChanged(const Service *service,
                                          Service::ConnectState new_state);
 
-  // Notifies this object that |service| has been disconnected and whether
-  // the disconnect was requested by the user or not.
-  void NotifyServiceDisconnect(const Service *service,
-                               bool manual_disconnect);
+  // Notifies this object that |service| has been disconnected.
+  void NotifyServiceDisconnect(const Service *service);
 
   // Notifies this object of a power management event.
   void NotifyPower();