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)