shill: Convert DHCP Proxy to use a model similar to Supplicant and ModemManager.
Also, don't create a DBus connection for each proxy since this doesn't work in
some event callbacks and wastes resources. Instead use a shared connection
provided by the ProxyFactory.
BUG=chromium-os:17735
TEST=unit tests, tested on device
Change-Id: I4d16b430783c1159501c0414ef3b846bce1a4c0e
Reviewed-on: http://gerrit.chromium.org/gerrit/4279
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/modem_manager_proxy.h b/modem_manager_proxy.h
index b782267..ff201ad 100644
--- a/modem_manager_proxy.h
+++ b/modem_manager_proxy.h
@@ -18,7 +18,8 @@
// and owner name |service|.
class ModemManagerProxy : public ModemManagerProxyInterface {
public:
- ModemManagerProxy(ModemManager *manager,
+ ModemManagerProxy(DBus::Connection *connection,
+ ModemManager *manager,
const std::string &path,
const std::string &service);
virtual ~ModemManagerProxy();
@@ -30,8 +31,8 @@
class Proxy : public org::freedesktop::ModemManager_proxy,
public DBus::ObjectProxy {
public:
- Proxy(ModemManager *manager,
- DBus::Connection *connection,
+ Proxy(DBus::Connection *connection,
+ ModemManager *manager,
const std::string &path,
const std::string &service);
virtual ~Proxy();
@@ -47,7 +48,6 @@
DISALLOW_COPY_AND_ASSIGN(Proxy);
};
- DBus::Connection connection_;
Proxy proxy_;
DISALLOW_COPY_AND_ASSIGN(ModemManagerProxy);