shill: Create mockable ModemManagerProxy on appearance of new ModemManagers.

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

Change-Id: Id9e6500168d63493eb94bd7939e379b964bef063
Reviewed-on: http://gerrit.chromium.org/gerrit/4269
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/modem_manager.h b/modem_manager.h
index 96d18ef..14d3a4f 100644
--- a/modem_manager.h
+++ b/modem_manager.h
@@ -6,6 +6,7 @@
 #define SHILL_MODEM_MANAGER_
 
 #include <base/basictypes.h>
+#include <base/memory/scoped_ptr.h>
 #include <gtest/gtest_prod.h>  // for FRIEND_TEST
 
 #include "shill/glib.h"
@@ -15,6 +16,7 @@
 class ControlInterface;
 class EventDispatcher;
 class Manager;
+class ModemManagerProxyInterface;
 
 // Handles a modem manager service and creates and destroys cellular devices.
 class ModemManager {
@@ -63,8 +65,8 @@
   const std::string path_;
   guint watcher_id_;
 
-  // DBus service owner.
-  std::string owner_;
+  std::string owner_;  // DBus service owner.
+  scoped_ptr<ModemManagerProxyInterface> proxy_;  // DBus service proxy.
 
   ControlInterface *control_interface_;
   EventDispatcher *dispatcher_;