| 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) |