[shill] Add Profile objects

Add a mostly-empty Profile object and all the wiring to hook it up to DBus

BUG=chromium-os:17154
TEST=unit tests

Change-Id: I16bf488969f071dd91c31ef454c7e10a81f9afe7
Reviewed-on: http://gerrit.chromium.org/gerrit/3423
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/control_interface.h b/control_interface.h
index 9e2bb27..ca8d4dd 100644
--- a/control_interface.h
+++ b/control_interface.h
@@ -11,16 +11,19 @@
 class DeviceAdaptorInterface;
 class Manager;
 class ManagerAdaptorInterface;
+class Profile;
+class ProfileAdaptorInterface;
 class Service;
 class ServiceAdaptorInterface;
 
 // This is the Interface for an object factory that creates adaptor objects
 class ControlInterface {
  public:
+  virtual ~ControlInterface() {}
   virtual ManagerAdaptorInterface *CreateManagerAdaptor(Manager *manager) = 0;
   virtual ServiceAdaptorInterface *CreateServiceAdaptor(Service *service) = 0;
   virtual DeviceAdaptorInterface *CreateDeviceAdaptor(Device *device) = 0;
-  virtual ~ControlInterface() {}
+  virtual ProfileAdaptorInterface *CreateProfileAdaptor(Profile *profile) = 0;
 };
 
 }  // namespace shill