/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ /* vim:set et sts=4: */ /* ibus - The Input Bus * Copyright (C) 2008-2013 Peng Huang * Copyright (C) 2008-2013 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA */ #if !defined (__IBUS_H_INSIDE__) && !defined (IBUS_COMPILATION) #error "Only can be included directly" #endif #ifndef __IBUS_BUS_H_ #define __IBUS_BUS_H_ /** * SECTION: ibusbus * @short_description: Connect with IBus daemon. * @stability: Stable * * An IBusBus connects with IBus daemon. */ #include #include #include "ibusinputcontext.h" #include "ibusconfig.h" #include "ibuscomponent.h" #include "ibusshare.h" /* * Type macros. */ /* define GOBJECT macros */ #define IBUS_TYPE_BUS \ (ibus_bus_get_type ()) #define IBUS_BUS(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_BUS, IBusBus)) #define IBUS_BUS_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_BUS, IBusBusClass)) #define IBUS_IS_BUS(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_BUS)) #define IBUS_IS_BUS_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_BUS)) #define IBUS_BUS_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_BUS, IBusBusClass)) G_BEGIN_DECLS typedef struct _IBusBus IBusBus; typedef struct _IBusBusClass IBusBusClass; typedef struct _IBusBusPrivate IBusBusPrivate; /** * IBusBus: * * An opaque data type representing IBus bus (daemon communication) status. */ struct _IBusBus { IBusObject parent; /* instance members */ IBusBusPrivate *priv; }; struct _IBusBusClass { IBusObjectClass parent; /* class members */ }; GType ibus_bus_get_type (void); /** * ibus_bus_new: * * Creates a new #IBusBus instance. * * Returns: A newly allocated #IBusBus instance, and the instance is not * floating. */ IBusBus *ibus_bus_new (void); /** * ibus_bus_new_async: * * Creates a new #IBusBus instance. The instance will asynchronously connect * to the IBus daemon. * * Returns: A newly allocated #IBusBus instance, and the instance is not * floating. */ IBusBus *ibus_bus_new_async (void); /** * ibus_bus_new_async_client: * * Creates a new #IBusBus instance for client use only. It will possibly * be limited in what it can do. * * The instance will asynchronously connect to the IBus daemon. * * Returns: A newly allocated #IBusBus instance, and the instance is not * floating. */ IBusBus *ibus_bus_new_async_client (void); /** * ibus_bus_is_connected: * @bus: An #IBusBus. * * Return %TRUE if @bus is connected to IBus daemon. * * Returns: %TRUE if @bus is connected, %FALSE otherwise. */ gboolean ibus_bus_is_connected (IBusBus *bus); /** * ibus_bus_get_connection: * @bus: An #IBusBus. * * Gets a #GDBusConnection of an #IBusBus instance. * * Returns: (transfer none): A #GDBusConnection of an #IBusBus instance. */ GDBusConnection * ibus_bus_get_connection (IBusBus *bus); /** * ibus_bus_get_service_name: * @bus: An #IBusBus. * * Return the main service name to use for calls on the ibus connection. * * Returns: at dbus name. */ const gchar * ibus_bus_get_service_name (IBusBus *bus); /** * ibus_bus_hello: * @bus: An #IBusBus. * * This function sends a "HELLO" message to DBus daemon, * which replies the unique name of current IBus process. * * Returns: The unique name of IBus process in DBus. */ const gchar *ibus_bus_hello (IBusBus *bus); /** * ibus_bus_request_name: * @bus: the IBusBus instance to be processed. * @name: Name to be requested. * @flags: IBusBusNameFlag. * * Request a name from IBus daemon synchronously. * * Returns: 0 if failed; IBusBusRequestNameReply otherwise. */ guint32 ibus_bus_request_name (IBusBus *bus, const gchar *name, guint32 flags); /** * ibus_bus_request_name_async: * @bus: An #IBusBus. * @name: Name to be requested. * @flags: Flags (FixMe). * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL * if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Request a name from IBus daemon asynchronously. */ void ibus_bus_request_name_async (IBusBus *bus, const gchar *name, guint flags, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_request_name_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_request_name_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_request_name_async(). * * Returns: 0 if failed; positive number otherwise. */ guint ibus_bus_request_name_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_release_name: * @bus: An #IBusBus. * @name: Name to be released. * * Release a name to IBus daemon synchronously. * * Returns: 0 if failed; positive number otherwise. */ guint ibus_bus_release_name (IBusBus *bus, const gchar *name); /** * ibus_bus_release_name_async: * @bus: An #IBusBus. * @name: Name to be released. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Release a name to IBus daemon asynchronously. */ void ibus_bus_release_name_async (IBusBus *bus, const gchar *name, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_release_name_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_release_name_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_release_name_async(). * * Returns: 0 if failed; positive number otherwise. */ guint ibus_bus_release_name_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_list_queued_owners: * @bus: An IBusBus. * @name: Name to be queried. * * Lists the unique bus names of connections currently queued for a bus name. * FIXME add an asynchronous version. * * Returns: (transfer full) (element-type utf8): * The unique bus names of connections currently queued for @name. */ GList * ibus_bus_list_queued_owners (IBusBus *bus, const gchar *name); /** * ibus_bus_name_has_owner: * @bus: An #IBusBus. * @name: Name to be checked. * * Checks whether the name has owner synchronously. * * Returns: %TRUE if the name has owner, %FALSE otherwise. */ gboolean ibus_bus_name_has_owner (IBusBus *bus, const gchar *name); /** * ibus_bus_name_has_owner_async: * @bus: An #IBusBus. * @name: Name to be checked. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Checks whether the name has owner asynchronously. */ void ibus_bus_name_has_owner_async (IBusBus *bus, const gchar *name, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_name_has_owner_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_name_has_owner_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_name_has_owner_async(). * * Returns: %TRUE if the name has owner, %FALSE otherwise. */ gboolean ibus_bus_name_has_owner_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_list_names: * @bus: An #IBusBus. * * Return lists that attached to @bus. * [FixMe] Not implemented yet, only return %NULL. * [FixMe] Add async version. * * Returns: (transfer full) (element-type utf8): Lists that attached to @bus. */ GList *ibus_bus_list_names (IBusBus *bus); /** * ibus_bus_add_match: * @bus: An #IBusBus. * @rule: Match rule. * * Add a match rule to an #IBusBus synchronously. * * Returns: %TRUE if the rule is added. %FALSE otherwise. */ gboolean ibus_bus_add_match (IBusBus *bus, const gchar *rule); /** * ibus_bus_add_match_async: * @bus: An #IBusBus. * @rule: Match rule. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Add a match rule to an #IBusBus asynchronously. */ void ibus_bus_add_match_async (IBusBus *bus, const gchar *rule, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_add_match_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_add_match_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_add_match_async(). * * Returns: %TRUE if the rule is added. %FALSE otherwise. */ gboolean ibus_bus_add_match_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_remove_match: * @bus: An #IBusBus. * @rule: Match rule. * * Remove a match rule to an #IBusBus synchronously. * * Returns: %TRUE if the rule is removed. %FALSE otherwise. */ gboolean ibus_bus_remove_match (IBusBus *bus, const gchar *rule); /** * ibus_bus_remove_match_async: * @bus: An #IBusBus. * @rule: Match rule. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Remove a match rule to an IBusBus asynchronously. */ void ibus_bus_remove_match_async (IBusBus *bus, const gchar *rule, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_remove_match_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_remove_match_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_remove_match_async(). * * Returns: %TRUE if the rule is removed. %FALSE otherwise. */ gboolean ibus_bus_remove_match_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_get_name_owner: * @bus: An #IBusBus. * @name: Name. * * Return the name owner synchronously. * * Returns: Owner of the name. The returned value must be freed with g_free(). */ gchar *ibus_bus_get_name_owner (IBusBus *bus, const gchar *name); /** * ibus_bus_get_name_owner_async: * @bus: An #IBusBus. * @name: Name. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Return the name owner asynchronously. */ void ibus_bus_get_name_owner_async (IBusBus *bus, const gchar *name, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_get_name_owner_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_get_name_owner_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_get_name_owner_async(). * * Returns: Owner of the name. The returned value must be freed with g_free(). */ gchar *ibus_bus_get_name_owner_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /* declare ibus methods */ /** * ibus_bus_exit: * @bus: An #IBusBus. * @restart: Whether restarting the ibus. * * Exit or restart ibus-daemon synchronously. * * Returns: %TRUE if the "Exit" call is suceeded, %FALSE otherwise. */ gboolean ibus_bus_exit (IBusBus *bus, gboolean restart); /** * ibus_bus_exit_async: * @bus: An #IBusBus. * @restart: Whether restarting the ibus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Exit or restart ibus-daemon asynchronously. */ void ibus_bus_exit_async (IBusBus *bus, gboolean restart, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_exit_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_exit_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_exit_async(). * * Returns: %TRUE if the "Exit" call is suceeded, %FALSE otherwise. */ gboolean ibus_bus_exit_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_create_input_context: * @bus: An #IBusBus. * @client_name: Name of client. * "CreateInputContext" call is suceeded, %NULL otherwise. * * Create an input context for client synchronously. * * Returns: (transfer full): An newly allocated #IBusInputContext if the */ IBusInputContext * ibus_bus_create_input_context (IBusBus *bus, const gchar *client_name); /** * ibus_bus_create_input_context_async: * @bus: An #IBusBus. * @client_name: Name of client. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied. * It should not be %NULL. * @user_data: The data to pass to callback. * * Create an input context for client asynchronously. */ void ibus_bus_create_input_context_async (IBusBus *bus, const gchar *client_name, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_create_input_context_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_create_input_context_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_create_input_context_async(). * * Returns: (transfer full): An newly allocated #IBusInputContext if the * "CreateInputContext" call is suceeded, %NULL otherwise. */ IBusInputContext * ibus_bus_create_input_context_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_current_input_context: * @bus: An #IBusBus. * * Get the current focused input context synchronously. * * Returns: The named of currently focued #IBusInputContext if the * "CurrentInputContext" call suceeded, %NULL otherwise. The return * value must be freed with g_free(). */ gchar *ibus_bus_current_input_context (IBusBus *bus); /** * ibus_bus_current_input_context_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Get the current focused input context asynchronously. */ void ibus_bus_current_input_context_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_current_input_context_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_current_input_context_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_current_input_context_async(). * * Returns: The named of currently focued IBusInputContext if the * "CurrentInputContext" call suceeded, %NULL otherwise. The return * value must be freed with g_free(). */ gchar *ibus_bus_current_input_context_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_register_component: * @bus: An #IBusBus. * @component: A input engine component. * * Register a componet to an #IBusBus synchronously. * * Returns: %TRUE if the "RegisterComponent" call is suceeded, %FALSE otherwise. */ gboolean ibus_bus_register_component (IBusBus *bus, IBusComponent *component); /** * ibus_bus_register_component_async: * @bus: An #IBusBus. * @component: A input engine component. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Register a componet to an #IBusBus asynchronously. */ void ibus_bus_register_component_async (IBusBus *bus, IBusComponent *component, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_register_component_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_register_component_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_register_component_async(). * * Returns: %TRUE if the "RegisterComponent" call is suceeded, %FALSE otherwise. */ gboolean ibus_bus_register_component_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_list_engines: * @bus: An #IBusBus. * * List engines synchronously. * * Returns: (transfer container) (element-type IBusEngineDesc): * A List of engines. */ GList *ibus_bus_list_engines (IBusBus *bus); /** * ibus_bus_list_engines_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL * if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * List engines asynchronously. */ void ibus_bus_list_engines_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_list_engines_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_list_engines_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_list_engines_async(). * * Returns: (transfer container) (element-type IBusEngineDesc): * A List of engines. */ GList *ibus_bus_list_engines_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); #ifndef IBUS_DISABLE_DEPRECATED /** * ibus_bus_list_active_engines: * @bus: An #IBusBus. * * List active engines synchronously. * * Returns: (transfer container) (element-type IBusEngineDesc): * A List of active engines. * * Deprecated: 1.5.3: Read dconf value * /desktop/ibus/general/preload-engines instead. */ IBUS_DEPRECATED GList *ibus_bus_list_active_engines (IBusBus *bus); /** * ibus_bus_list_active_engines_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL * if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * List active engines asynchronously. * * Deprecated: 1.5.3: Read dconf value * /desktop/ibus/general/preload-engines instead. */ IBUS_DEPRECATED void ibus_bus_list_active_engines_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_list_active_engines_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_list_active_engines_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_list_active_engines_async(). * * Returns: (transfer container) (element-type IBusEngineDesc): * A List of active engines. * * Deprecated: 1.5.3: Read dconf value * /desktop/ibus/general/preload-engines instead. */ IBUS_DEPRECATED GList *ibus_bus_list_active_engines_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); #endif /* IBUS_DISABLE_DEPRECATED */ /** * ibus_bus_get_engines_by_names: * @bus: An #IBusBus. * @names: (array zero-terminated=1): A %NULL-terminated array of names. * * Get engines by given names synchronously. If some engine names do not exist, * this function will simply ignore them, and return rest of engines. * TODO(penghuang): add asynchronous version * * Returns: (array zero-terminated=1) (transfer full): * A %NULL-terminated array of engines. */ IBusEngineDesc ** ibus_bus_get_engines_by_names (IBusBus *bus, const gchar * const *names); #ifndef IBUS_DISABLE_DEPRECATED /** * ibus_bus_get_use_sys_layout: * @bus: An #IBusBus. * * Check if the bus's "use_sys_layout" option is enabled or not synchronously. * * Returns: %TRUE if "use_sys_layout" option is enabled. * * Deprecated: 1.5.3: Read dconf value * /desktop/ibus/general/use_system_keyboard_layout instead. */ IBUS_DEPRECATED gboolean ibus_bus_get_use_sys_layout (IBusBus *bus); /** * ibus_bus_get_use_sys_layout_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Check if the bus's "use_sys_layout" option is enabled or not asynchronously. * * Deprecated: 1.5.3: Read dconf value * /desktop/ibus/general/use_system_keyboard_layout instead. */ IBUS_DEPRECATED void ibus_bus_get_use_sys_layout_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_get_use_sys_layout_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_get_use_sys_layout_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_get_use_sys_layout_async(). * * Returns: TRUE if "use_sys_layout" option is enabled. * * Deprecated: 1.5.3: Read dconf value * /desktop/ibus/general/use_system_keyboard_layout instead. */ IBUS_DEPRECATED gboolean ibus_bus_get_use_sys_layout_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_get_use_global_engine: * @bus: An #IBusBus. * * Check if the bus's "use_global_engine" option is enabled or not * synchronously. * * Returns: TRUE if "use_global_engine" option is enabled. * * Deprecated: 1.5.3: Currently global engine is always used. */ IBUS_DEPRECATED gboolean ibus_bus_get_use_global_engine (IBusBus *bus); /** * ibus_bus_get_use_global_engine_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Check if the bus's "use_global_engine" option is enabled or not asynchronously. * * Deprecated: 1.5.3: Currently global engine is always used. */ IBUS_DEPRECATED void ibus_bus_get_use_global_engine_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_get_use_global_engine_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_get_use_global_engine_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_get_use_global_engine_async(). * * Returns: %TRUE if "use_global_engine" option is enabled. * * Deprecated: 1.5.3: Currently global engine is always used. */ IBUS_DEPRECATED gboolean ibus_bus_get_use_global_engine_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_is_global_engine_enabled: * @bus: An #IBusBus. * * Check if the current global engine is enabled or not synchronously. * * Returns: %TRUE if the current global engine is enabled. * * Deprecated: 1.5.3: Probably this would be used for Chrome OS only. * Currently global engine is always used and ibus_bus_get_global_engine() * returns NULL until the first global engine is assigned. * You can use ibus_set_log_handler() to disable a warning when * ibus_bus_get_global_engine() returns NULL. */ IBUS_DEPRECATED gboolean ibus_bus_is_global_engine_enabled (IBusBus *bus); /** * ibus_bus_is_global_engine_enabled_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Check if the current global engine is enabled or not asynchronously. * * Deprecated: 1.5.3: Probably this would be used for Chrome OS only. * Currently global engine is always used and ibus_bus_get_global_engine() * returns NULL until the first global engine is assigned. * You can use ibus_set_log_handler() to disable a warning when * ibus_bus_get_global_engine() returns NULL. */ IBUS_DEPRECATED void ibus_bus_is_global_engine_enabled_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_is_global_engine_enabled_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_is_global_engine_enabled_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_is_global_engine_enabled_async(). * * Returns: %TRUE if the current global engine is enabled. * * Deprecated: 1.5.3: Probably this would be used for Chrome OS only. * Currently global engine is always used and ibus_bus_get_global_engine() * returns NULL until the first global engine is assigned. * You can use ibus_set_log_handler() to disable a warning when * ibus_bus_get_global_engine() returns NULL. */ IBUS_DEPRECATED gboolean ibus_bus_is_global_engine_enabled_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); #endif /* IBUS_DISABLE_DEPRECATED */ /** * ibus_bus_get_global_engine: * @bus: An #IBusBus. * * Get the description of current global engine synchronously. * * Returns: (transfer full): The description of current global engine, * or %NULL if there is no global engine. */ IBusEngineDesc * ibus_bus_get_global_engine (IBusBus *bus); /** * ibus_bus_get_global_engine_async: * @bus: An #IBusBus. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL * if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Get the description of current global engine asynchronously. */ void ibus_bus_get_global_engine_async (IBusBus *bus, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_get_global_engine_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_get_global_engine_async_finish(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_get_global_engine_async_finish(). * * Returns: (transfer none): The description of current global engine, * or %NULL if there is no global engine. */ IBusEngineDesc * ibus_bus_get_global_engine_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_set_global_engine: * @bus: An #IBusBus. * @global_engine: A new engine name. * * Set current global engine synchronously. * * Returns: %TRUE if the global engine was set successfully. */ gboolean ibus_bus_set_global_engine (IBusBus *bus, const gchar *global_engine); /** * ibus_bus_set_global_engine_async: * @bus: An #IBusBus. * @global_engine: A new engine name. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Set current global engine asynchronously. */ void ibus_bus_set_global_engine_async (IBusBus *bus, const gchar *global_engine, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_set_global_engine_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_set_global_engine_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_set_global_engine_async(). * * Returns: %TRUE if no IPC errros. %FALSE otherwise. */ gboolean ibus_bus_set_global_engine_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_set_watch_dbus_signal: * @bus: An #IBusBus. * @watch: %TRUE if you want ibusbus to emit "name-owner-changed" signal when * ibus-daemon emits the NameOwnerChanged DBus signal. * * Start or stop watching the NameOwnerChanged DBus signal. */ void ibus_bus_set_watch_dbus_signal (IBusBus *bus, gboolean watch); /** * ibus_bus_set_watch_ibus_signal: * @bus: An #IBusBus. * @watch: %TRUE if you want ibusbus to emit "global-engine-changed" signal when * ibus-daemon emits the GlobalEngineChanged IBus signal. * * Start or stop watching the GlobalEngineChanged IBus signal. */ void ibus_bus_set_watch_ibus_signal (IBusBus *bus, gboolean watch); /* declare config apis */ /** * ibus_bus_get_config: * @bus: An #IBusBus. * * Get the config instance from #IBusBus. * * Returns: (transfer none): An #IBusConfig object which is configurable with * @bus. */ IBusConfig *ibus_bus_get_config (IBusBus *bus); /** * ibus_bus_preload_engines: * @bus: An #IBusBus. * @names: (array zero-terminated=1): A %NULL-terminated array of engine names. * * Start bus components by engine names synchronously. * * Returns: %TRUE if components start. %FALSE otherwise. */ gboolean ibus_bus_preload_engines (IBusBus *bus, const gchar * const *names); /** * ibus_bus_preload_engines_async: * @bus: An #IBusBus. * @names: (array zero-terminated=1): A %NULL-terminated array of engine names. * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Start bus components by engine names asynchronously. */ void ibus_bus_preload_engines_async (IBusBus *bus, const gchar * const *names, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_preload_engines_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_preload_engines_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_preload_engines_async(). * * Returns: %TRUE if component starts. %FALSE otherwise. */ gboolean ibus_bus_preload_engines_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_get_ibus_property: * @bus: An #IBusBus. * @property_name: property name in org.freedesktop.DBus.Properties.Get * * Get org.freedesktop.DBus.Properties. * * Returns: (transfer full): The value in org.freedesktop.DBus.Properties.Get * The returned value must be freed with g_variant_unref(). */ GVariant * ibus_bus_get_ibus_property (IBusBus *bus, const gchar *property_name); /** * ibus_bus_get_ibus_property_async: * @bus: An #IBusBus. * @property_name: property name in org.freedesktop.DBus.Properties.Get * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Get org.freedesktop.DBus.Properties asynchronously. */ void ibus_bus_get_ibus_property_async (IBusBus *bus, const gchar *property_name, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_get_ibus_property_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_get_ibus_property_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_get_ibus_property_async(). * * Returns: (transfer full): The value in org.freedesktop.DBus.Properties.Get * The returned value must be freed with g_variant_unref(). */ GVariant * ibus_bus_get_ibus_property_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); /** * ibus_bus_set_ibus_property: * @bus: An #IBusBus. * @property_name: property name in org.freedesktop.DBus.Properties.Set * @value: value in org.freedesktop.DBus.Properties.Set * * Set org.freedesktop.DBus.Properties. */ void ibus_bus_set_ibus_property (IBusBus *bus, const gchar *property_name, GVariant *value); /** * ibus_bus_set_ibus_property_async: * @bus: An #IBusBus. * @property_name: property name in org.freedesktop.DBus.Properties.Set * @value: value in org.freedesktop.DBus.Properties.Set * @timeout_msec: The timeout in milliseconds or -1 to use the default timeout. * @cancellable: A #GCancellable or %NULL. * @callback: A #GAsyncReadyCallback to call when the request is satisfied * or %NULL if you don't care about the result of the method invocation. * @user_data: The data to pass to callback. * * Set org.freedesktop.DBus.Properties asynchronously. */ void ibus_bus_set_ibus_property_async (IBusBus *bus, const gchar *property_name, GVariant *value, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); /** * ibus_bus_set_ibus_property_async_finish: * @bus: An #IBusBus. * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to * ibus_bus_set_ibus_property_async(). * @error: Return location for error or %NULL. * * Finishes an operation started with ibus_bus_set_ibus_property_async(). * * Returns: %TRUE if property is set with async. %FALSE failed. */ gboolean ibus_bus_set_ibus_property_async_finish (IBusBus *bus, GAsyncResult *res, GError **error); G_END_DECLS #endif