Mercurial > pidgin
diff src/signals.c @ 11080:f54740547c95
[gaim-migrate @ 13092]
All gaim signals are automatically relayed to dbus.
committer: Tailor Script <tailor@pidgin.im>
author | Piotr Zielinski <zielaj> |
---|---|
date | Sun, 10 Jul 2005 02:29:52 +0000 |
parents | e4459e8ccfb5 |
children | 1c5398ccbeb0 |
line wrap: on
line diff
--- a/src/signals.c Sat Jul 09 20:27:57 2005 +0000 +++ b/src/signals.c Sun Jul 10 02:29:52 2005 +0000 @@ -24,6 +24,7 @@ */ #include "internal.h" +#include "dbus-maybe.h" #include "debug.h" #include "signals.h" #include "value.h" @@ -57,6 +58,7 @@ gulong next_handler_id; + int dbus_id; } GaimSignalData; typedef struct @@ -167,6 +169,15 @@ instance_data->next_signal_id++; instance_data->signal_count++; +#ifdef HAVE_DBUS + /* DBus messages are sent directly to the bus so the + marshalling function is never called. */ + signal_data->dbus_id = + gaim_dbus_signal_register_gaim(gaim_dbus_object, signal, + gaim_dbus_invalid_marshaller, + num_values, signal_data->values); +#endif /* HAVE_DBUS */ + return signal_data->id; } @@ -487,6 +498,13 @@ va_end(tmp); } + +#ifdef HAVE_DBUS + gaim_dbus_signal_emit_gaim(gaim_dbus_object, signal_data->dbus_id, + signal_data->num_values, + signal_data->values, args); +#endif /* HAVE_DBUS */ + } void * @@ -533,6 +551,12 @@ return 0; } +#ifdef HAVE_DBUS + gaim_dbus_signal_emit_gaim(gaim_dbus_object, signal_data->dbus_id, + signal_data->num_values, + signal_data->values, args); +#endif /* HAVE_DBUS */ + for (l = signal_data->handlers; l != NULL; l = l_next) { void *ret_val = NULL;