[shill] Wire shill to dbus

Refactor necessary classes into their own headers and such as well.

BUG=chromium-os:15578
TEST=unit tests, shill --foreground on device

Change-Id: Ib9c5a0e9dab779ecc44c1d0144035f5a09e1086e
Reviewed-on: http://gerrit.chromium.org/gerrit/1307
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/dbus_control.h b/dbus_control.h
index 4f121fd..71754ba 100644
--- a/dbus_control.h
+++ b/dbus_control.h
@@ -5,17 +5,28 @@
 #ifndef SHILL_DBUS_CONTROL_
 #define SHILL_DBUS_CONTROL_
 
+#include <base/scoped_ptr.h>
+#include <dbus-c++/glib-integration.h>
+#include <dbus-c++/util.h>
+
 #include "shill/control_interface.h"
 
 namespace shill {
 // This is the Interface for the control channel for Shill.
 class DBusControl : public ControlInterface {
  public:
+  DBusControl();
+  virtual ~DBusControl();
+
   ManagerAdaptorInterface *CreateManagerAdaptor(Manager *manager);
   ServiceAdaptorInterface *CreateServiceAdaptor(Service *service);
   DeviceAdaptorInterface *CreateDeviceAdaptor(Device *device);
+
+ private:
+  void EnsureDispatcher();
+  scoped_ptr<DBus::Glib::BusDispatcher> dispatcher_;
 };
 
 }  // namespace shill
 
-#endif  // SHILL_MANAGER_
+#endif  // SHILL_DBUS_CONTROL_