diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-11-12 14:07:42 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-11-23 12:58:51 +0200 |
commit | ae693881d0d2bac1d9edea534918b6cc238b06ce (patch) | |
tree | 424942a4fbf0faf141580c031586f77c48d6c4c3 | |
parent | efcc517183f672af421d8a09dedef5c9c0d16f64 (diff) | |
download | connman-ae693881d0d2bac1d9edea534918b6cc238b06ce.tar.gz connman-ae693881d0d2bac1d9edea534918b6cc238b06ce.tar.bz2 connman-ae693881d0d2bac1d9edea534918b6cc238b06ce.zip |
vpn-provider: Send ConnectionAdded signal when needed
-rw-r--r-- | vpn/vpn-provider.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vpn/vpn-provider.c b/vpn/vpn-provider.c index 300ce85a..c46c9b41 100644 --- a/vpn/vpn-provider.c +++ b/vpn/vpn-provider.c @@ -1225,6 +1225,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; @@ -1664,6 +1683,8 @@ int __vpn_provider_create(DBusMessage *msg) DBUS_TYPE_OBJECT_PATH, &provider->path, DBUS_TYPE_INVALID); + connection_added_signal(provider); + return 0; } |