static void _send_signal (IBusEngine *engine, const gchar *name, GType first_arg_type, ...) { g_assert (IBUS_IS_ENGINE (engine)); g_assert (name != NULL); va_list args; const gchar *path; IBusEnginePrivate *priv; priv = IBUS_ENGINE_GET_PRIVATE (engine); path = ibus_service_get_path ((IBusService *)engine); va_start (args, first_arg_type); ibus_connection_send_signal_valist (priv->connection, path, IBUS_INTERFACE_ENGINE, name, first_arg_type, args); va_end (args); }
gboolean ibus_service_send_signal (IBusService *service, const gchar *interface, const gchar *name, GType first_arg_type, ...) { g_assert (IBUS_IS_SERVICE (service)); g_assert (name != NULL); gboolean retval; va_list args; GList *p; IBusServicePrivate *priv; priv = IBUS_SERVICE_GET_PRIVATE (service); for (p = priv->connections; p != NULL; p = p->next) { va_start (args, first_arg_type); retval = ibus_connection_send_signal_valist ((IBusConnection *) p->data, priv->path, interface, name, first_arg_type, args); va_end (args); } return retval; }
gboolean ibus_connection_send_signal (IBusConnection *connection, const gchar *path, const gchar *interface, const gchar *name, GType first_arg_type, ...) { va_list args; gboolean retval; va_start (args, first_arg_type); retval = ibus_connection_send_signal_valist (connection, path, interface, name, first_arg_type, args); va_end (args); return retval; }