shill: Don't create DHCP and Modem D-Bus proxies in signal callbacks.
dbus-c++ doesn't allow proxy creation in signal callbacks so create them in
deferred tasks instead.
BUG=chromium-os:18228
TEST=unit tests, tested on device
Change-Id: I4f85ab937aef99ef4556c5a3c16af913d8fa08fd
Reviewed-on: http://gerrit.chromium.org/gerrit/4827
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/shill_daemon.h b/shill_daemon.h
index 17e687b..37906dd 100644
--- a/shill_daemon.h
+++ b/shill_daemon.h
@@ -7,7 +7,9 @@
#include <string>
+#include "shill/glib.h"
#include "shill/manager.h"
+#include "shill/proxy_factory.h"
#include "shill/shill_event.h"
#include "shill/sockets.h"
@@ -19,23 +21,24 @@
class Daemon {
public:
- Daemon(Config *config, ControlInterface *control, GLib *glib);
+ Daemon(Config *config, ControlInterface *control);
~Daemon();
void AddDeviceToBlackList(const std::string &device_name);
- void Start();
void Run();
private:
friend class ShillDaemonTest;
- ControlInterface *CreateControl();
+ void Start();
Config *config_;
ControlInterface *control_;
Manager manager_;
EventDispatcher dispatcher_;
Sockets sockets_;
+ GLib glib_;
+ ProxyFactory proxy_factory_;
};
} // namespace shill