shill: Create Modem instances for ModemManager.Modem paths.

Each Modem instance will manage a single ModemManager.Modem and a single
Cellular device.

BUG=chromium-os:17818
TEST=unit tests, tested on device

Change-Id: I4798224f0bc824bd6d1177e6a6b89f65ca4725ba
Reviewed-on: http://gerrit.chromium.org/gerrit/4356
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/proxy_factory.h b/proxy_factory.h
index 3799cc8..7d628c9 100644
--- a/proxy_factory.h
+++ b/proxy_factory.h
@@ -15,7 +15,9 @@
 
 namespace shill {
 
+class DBusPropertiesProxyInterface;
 class DHCPProxyInterface;
+class Modem;
 class ModemManager;
 class ModemManagerProxyInterface;
 class SupplicantInterfaceProxyInterface;
@@ -29,6 +31,11 @@
 
   void Init();
 
+  virtual DBusPropertiesProxyInterface *CreateDBusPropertiesProxy(
+      Modem *modem,
+      const std::string &path,
+      const std::string &service);
+
   virtual ModemManagerProxyInterface *CreateModemManagerProxy(
       ModemManager *manager,
       const std::string &path,