shill: implement Service.Disconnect (for WiFiService only)

BUG=chromium-os:23774,chromium-os:23662
TEST=new unit tests, some autotests

autotests run:
- PASS network_WiFiSecMat.031CheckHidden_WPA
- PASS network_WiFiSecMat.032CheckHidden_RSN

Change-Id: I0c2dc8c9888caca793f0dfe5a55c0df2a4b10c79
Reviewed-on: https://gerrit.chromium.org/gerrit/12498
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/service_dbus_adaptor.cc b/service_dbus_adaptor.cc
index f151f01..ec535c6 100644
--- a/service_dbus_adaptor.cc
+++ b/service_dbus_adaptor.cc
@@ -74,7 +74,10 @@
   e.ToDBusError(&error);
 }
 
-void ServiceDBusAdaptor::Disconnect(::DBus::Error &/*error*/) {
+void ServiceDBusAdaptor::Disconnect(::DBus::Error &error) {
+  Error e;
+  service_->Disconnect(&e);
+  e.ToDBusError(&error);
 }
 
 void ServiceDBusAdaptor::Remove(::DBus::Error &/*error*/) {