Mercurial > pidgin
comparison src/signals.c @ 11146:1c5398ccbeb0
[gaim-migrate @ 13217]
Gaim-DBUS signal export works with DBUS >= 0.35
Various gaim API functions available through DBUS
committer: Tailor Script <tailor@pidgin.im>
author | Piotr Zielinski <zielaj> |
---|---|
date | Fri, 22 Jul 2005 19:47:29 +0000 |
parents | f54740547c95 |
children | ebb02ea3c789 |
comparison
equal
deleted
inserted
replaced
11145:dbc518c453f2 | 11146:1c5398ccbeb0 |
---|---|
55 | 55 |
56 GList *handlers; | 56 GList *handlers; |
57 size_t handler_count; | 57 size_t handler_count; |
58 | 58 |
59 gulong next_handler_id; | 59 gulong next_handler_id; |
60 | |
61 int dbus_id; | |
62 } GaimSignalData; | 60 } GaimSignalData; |
63 | 61 |
64 typedef struct | 62 typedef struct |
65 { | 63 { |
66 gulong id; | 64 gulong id; |
166 g_hash_table_insert(instance_data->signals, | 164 g_hash_table_insert(instance_data->signals, |
167 g_strdup(signal), signal_data); | 165 g_strdup(signal), signal_data); |
168 | 166 |
169 instance_data->next_signal_id++; | 167 instance_data->next_signal_id++; |
170 instance_data->signal_count++; | 168 instance_data->signal_count++; |
171 | |
172 #ifdef HAVE_DBUS | |
173 /* DBus messages are sent directly to the bus so the | |
174 marshalling function is never called. */ | |
175 signal_data->dbus_id = | |
176 gaim_dbus_signal_register_gaim(gaim_dbus_object, signal, | |
177 gaim_dbus_invalid_marshaller, | |
178 num_values, signal_data->values); | |
179 #endif /* HAVE_DBUS */ | |
180 | 169 |
181 return signal_data->id; | 170 return signal_data->id; |
182 } | 171 } |
183 | 172 |
184 void | 173 void |
498 | 487 |
499 va_end(tmp); | 488 va_end(tmp); |
500 } | 489 } |
501 | 490 |
502 #ifdef HAVE_DBUS | 491 #ifdef HAVE_DBUS |
503 gaim_dbus_signal_emit_gaim(gaim_dbus_object, signal_data->dbus_id, | 492 gaim_dbus_signal_emit_gaim(gaim_dbus_object, signal, |
504 signal_data->num_values, | 493 signal_data->num_values, |
505 signal_data->values, args); | 494 signal_data->values, args); |
506 #endif /* HAVE_DBUS */ | 495 #endif /* HAVE_DBUS */ |
507 | 496 |
508 } | 497 } |
550 "Signal data for %s not found!\n", signal); | 539 "Signal data for %s not found!\n", signal); |
551 return 0; | 540 return 0; |
552 } | 541 } |
553 | 542 |
554 #ifdef HAVE_DBUS | 543 #ifdef HAVE_DBUS |
555 gaim_dbus_signal_emit_gaim(gaim_dbus_object, signal_data->dbus_id, | 544 gaim_dbus_signal_emit_gaim(gaim_dbus_object, signal, |
556 signal_data->num_values, | 545 signal_data->num_values, |
557 signal_data->values, args); | 546 signal_data->values, args); |
558 #endif /* HAVE_DBUS */ | 547 #endif /* HAVE_DBUS */ |
559 | 548 |
560 for (l = signal_data->handlers; l != NULL; l = l_next) | 549 for (l = signal_data->handlers; l != NULL; l = l_next) |