shill: Notify upstart when shill is offline
Add an Upstart proxy, which can ask the upstart process to emit
events. Invoke this event whenever the shill manager becomes
idle.
BUG=chromium:447796
TEST=Unit tests + manual:
Create a dummy "offline.conf" file in /etc/init which starts
with "start on shill-disconnected", and ensure that this script
is invoked if we disconnect the network.
Change-Id: Ide473098b7b93fd3da57b820e78b0a710c287cba
Reviewed-on: https://chromium-review.googlesource.com/241033
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/proxy_factory.cc b/proxy_factory.cc
index 08a7e22..879b677 100644
--- a/proxy_factory.cc
+++ b/proxy_factory.cc
@@ -14,6 +14,7 @@
#include "shill/supplicant/supplicant_interface_proxy.h"
#include "shill/supplicant/supplicant_network_proxy.h"
#include "shill/supplicant/supplicant_process_proxy.h"
+#include "shill/upstart/upstart_proxy.h"
#if !defined(DISABLE_CELLULAR)
#include "shill/cellular/dbus_objectmanager_proxy.h"
@@ -111,6 +112,10 @@
return new DHCPCDProxy(GetConnection(), service);
}
+UpstartProxyInterface *ProxyFactory::CreateUpstartProxy() {
+ return new UpstartProxy(GetConnection());
+}
+
#if !defined(DISABLE_CELLULAR)
DBusObjectManagerProxyInterface *ProxyFactory::CreateDBusObjectManagerProxy(