---
 vpn/vpn-provider.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/vpn/vpn-provider.c b/vpn/vpn-provider.c
index 98b76e6..c1d718f 100644
--- a/vpn/vpn-provider.c
+++ b/vpn/vpn-provider.c
@@ -974,6 +974,25 @@ static void append_properties(DBusMessageIter *iter,
        connman_dbus_dict_close(iter, &dict);
 }
 
+static void connection_added_signal(struct vpn_provider *provider)
+{
+       DBusMessage *signal;
+       DBusMessageIter iter;
+
+       signal = dbus_message_new_signal(VPN_MANAGER_PATH,
+                       VPN_MANAGER_INTERFACE, "ConnectionAdded");
+       if (signal == NULL)
+               return;
+
+       dbus_message_iter_init_append(signal, &iter);
+       dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH,
+                                                       &provider->path);
+       append_properties(&iter, provider);
+
+       dbus_connection_send(connection, signal, NULL);
+       dbus_message_unref(signal);
+}
+
 static connman_bool_t check_host(char **hosts, char *host)
 {
        int i;
@@ -1424,6 +1443,8 @@ int __vpn_provider_create(DBusMessage *msg)
                                DBUS_TYPE_OBJECT_PATH, &provider->path,
                                DBUS_TYPE_INVALID);
 
+       connection_added_signal(provider);
+
        return 0;
 }
 
-- 
1.7.11.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to