summaryrefslogtreecommitdiff
path: root/src/nm-dbus-manager.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2006-11-25 07:09:11 +0000
committerDan Williams <dcbw@redhat.com>2006-11-25 07:09:11 +0000
commit81c31e820a19a33918fb6a6834daecc87bd804aa (patch)
tree24d648016d02cb03339657edc2fe9040a54c5461 /src/nm-dbus-manager.h
parent2c8b331607edb47bdc079373515a80277624c2ff (diff)
2006-11-25 Dan Williams <dcbw@redhat.com>
Rework DBus manager signal handling to be more flexible. Previously, only one signal handler could be registered for a particular interface. The DBus manager now reference counts DBus bus matches and allows multiple clients to register signal handlers for the same interface and sender. * src/NetworkManager.c - (main): track NMI signal handler ID and remove it when we quit * src/NetworkManagerMain.h - Keep track of NMI signal handler ID * src/nm-dbus-manager.c src/nm-dbus-manager.h - rework signal handling; each signal handler references one signal match, but a signal match may be referenced by one or more signal handlers. Matches are refcounted and are destroyed when the last signal handler that references the match is removed. This is necessary because two signal handlers may end up requiring the same dbus bus match, so the match must live until the last signal handler is destroyed (for example, with the wpa_supplicant network interface dbus interface). * src/dhcp-manager/nm-dhcp-manager.c - (nm_dhcp_manager_new): track DHCP signal handler id - (nm_dhcp_manager_dispose): remove DHCP signal handler * src/vpn-manager/nm-vpn-service.c - (nm_vpn_service_add_watch): track VPN service signal handler id - (nm_vpn_service_remove_watch): remove VPN service signal handler git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2124 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'src/nm-dbus-manager.h')
-rw-r--r--src/nm-dbus-manager.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nm-dbus-manager.h b/src/nm-dbus-manager.h
index a987c36e01..6e940b5a65 100644
--- a/src/nm-dbus-manager.h
+++ b/src/nm-dbus-manager.h
@@ -80,14 +80,14 @@ void nm_dbus_manager_register_method_list (NMDBusManager *self,
gboolean nm_dbus_manager_name_has_owner (NMDBusManager *self,
const char *name);
-void nm_dbus_manager_register_signal_handler (NMDBusManager *self,
+guint32 nm_dbus_manager_register_signal_handler (NMDBusManager *self,
const char *interface,
const char *sender,
NMDBusSignalHandlerFunc callback,
gpointer user_data);
void nm_dbus_manager_remove_signal_handler (NMDBusManager *self,
- const char *interface);
+ guint32 id);
DBusConnection * nm_dbus_manager_get_dbus_connection (NMDBusManager *self);