|
Packit Service |
1d8f1c |
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#include <string.h>
|
|
Packit Service |
1d8f1c |
#include "ibus.h"
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static IBusBus *bus;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
print_engines (const GList *engines)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
for (; engines; engines = g_list_next (engines)) {
|
|
Packit Service |
1d8f1c |
IBusEngineDesc *engine_desc = IBUS_ENGINE_DESC (engines->data);
|
|
Packit Service |
1d8f1c |
g_assert (engine_desc);
|
|
Packit Service |
1d8f1c |
#if 0
|
|
Packit Service |
1d8f1c |
g_debug ("%s (id:%s, icon:%s)",
|
|
Packit Service |
1d8f1c |
ibus_engine_desc_get_longname (engine_desc),
|
|
Packit Service |
1d8f1c |
ibus_engine_desc_get_name (engine_desc),
|
|
Packit Service |
1d8f1c |
ibus_engine_desc_get_icon (engine_desc));
|
|
Packit Service |
1d8f1c |
#endif
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#ifndef IBUS_DISABLE_DEPRECATED
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_list_active_engines (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GList *engines;
|
|
Packit Service |
1d8f1c |
IBUS_TYPE_ENGINE_DESC;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
engines = ibus_bus_list_active_engines (bus);
|
|
Packit Service |
1d8f1c |
print_engines (engines);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_list_foreach (engines, (GFunc) g_object_unref, NULL);
|
|
Packit Service |
1d8f1c |
g_list_free (engines);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
#endif /* IBUS_DISABLE_DEPRECATED */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_list_engines (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GList *engines;
|
|
Packit Service |
1d8f1c |
IBUS_TYPE_ENGINE_DESC;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
engines = ibus_bus_list_engines (bus);
|
|
Packit Service |
1d8f1c |
print_engines (engines);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_list_foreach (engines, (GFunc) g_object_unref, NULL);
|
|
Packit Service |
1d8f1c |
g_list_free (engines);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
name_owner_changed_cb (IBusBus *bus,
|
|
Packit Service |
1d8f1c |
gchar *name,
|
|
Packit Service |
1d8f1c |
gchar *old,
|
|
Packit Service |
1d8f1c |
gchar *new,
|
|
Packit Service |
1d8f1c |
gpointer data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
g_debug ("%s: bus=%s, old=%s, new=%s", G_STRFUNC, name, old, new);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void call_next_async_function (void);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_request_name_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
guint id = ibus_bus_request_name_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_assert (id != 0);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_debug ("request name returned %d: ", id);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
switch (id) {
|
|
Packit Service |
1d8f1c |
case IBUS_BUS_REQUEST_NAME_REPLY_PRIMARY_OWNER:
|
|
Packit Service |
1d8f1c |
g_debug ("got ownership");
|
|
Packit Service |
1d8f1c |
break;
|
|
Packit Service |
1d8f1c |
case IBUS_BUS_REQUEST_NAME_REPLY_IN_QUEUE:
|
|
Packit Service |
1d8f1c |
g_debug ("got queued");
|
|
Packit Service |
1d8f1c |
break;
|
|
Packit Service |
1d8f1c |
case IBUS_BUS_REQUEST_NAME_REPLY_EXISTS:
|
|
Packit Service |
1d8f1c |
g_debug ("request already in queue");
|
|
Packit Service |
1d8f1c |
break;
|
|
Packit Service |
1d8f1c |
case IBUS_BUS_REQUEST_NAME_REPLY_ALREADY_OWNER:
|
|
Packit Service |
1d8f1c |
g_debug ("already owner");
|
|
Packit Service |
1d8f1c |
break;
|
|
Packit Service |
1d8f1c |
default:
|
|
Packit Service |
1d8f1c |
g_assert_not_reached ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
if (error) {
|
|
Packit Service |
1d8f1c |
g_warning ("Error %s: %s", G_STRFUNC, error->message);
|
|
Packit Service |
1d8f1c |
g_error_free (error);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_request_name_async_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_request_name_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_set_watch_dbus_signal (bus, TRUE);
|
|
Packit Service |
1d8f1c |
ibus_bus_set_watch_ibus_signal (bus, TRUE);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_signal_connect (bus, "name-owner-changed",
|
|
Packit Service |
1d8f1c |
(GCallback) name_owner_changed_cb, NULL);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
ibus_bus_request_name_async (bus,
|
|
Packit Service |
1d8f1c |
"org.freedesktop.IBus.IBusBusTest",
|
|
Packit Service |
1d8f1c |
IBUS_BUS_NAME_FLAG_REPLACE_EXISTING,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_request_name_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_name_has_owner_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
gboolean has_owner = ibus_bus_name_has_owner_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_assert (has_owner);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_name_has_owner_async_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_name_has_owner_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_name_has_owner_async (bus,
|
|
Packit Service |
1d8f1c |
"org.freedesktop.IBus.IBusBusTest",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_name_has_owner_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_name_owner_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
gchar *owner = ibus_bus_get_name_owner_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_assert (owner);
|
|
Packit Service |
1d8f1c |
g_free (owner);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_name_get_name_owner_async_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_name_owner_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_name_owner_async (bus,
|
|
Packit Service |
1d8f1c |
"org.freedesktop.IBus.IBusBusTest",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_name_owner_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_release_name_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
guint id = ibus_bus_release_name_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_assert (id != 0);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_release_name_async_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_release_name_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_release_name_async (bus,
|
|
Packit Service |
1d8f1c |
"org.freedesktop.IBus.IBusBusTest",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_release_name_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_add_match_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
gboolean result = ibus_bus_add_match_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_assert (result);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_add_match_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_add_match_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_add_match_async (bus,
|
|
Packit Service |
1d8f1c |
"type='signal'",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_add_match_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_remove_match_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
gboolean result = ibus_bus_remove_match_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_assert (result);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_remove_match_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_remove_match_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_remove_match_async (bus,
|
|
Packit Service |
1d8f1c |
"type='signal'",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_remove_match_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static int create_input_context_count = 0;
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_sucess (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GMainLoop *loop = (GMainLoop *)user_data;
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
IBusInputContext *context =
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_assert (IBUS_IS_INPUT_CONTEXT (context));
|
|
Packit Service |
1d8f1c |
g_object_unref (context);
|
|
Packit Service |
1d8f1c |
if (--create_input_context_count == 0)
|
|
Packit Service |
1d8f1c |
g_main_loop_quit (loop);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_failed (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GMainLoop *loop = (GMainLoop *)user_data;
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
IBusInputContext *context =
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_assert (context == NULL);
|
|
Packit Service |
1d8f1c |
g_assert (error != NULL);
|
|
Packit Service |
1d8f1c |
g_error_free (error);
|
|
Packit Service |
1d8f1c |
if (--create_input_context_count <= 0)
|
|
Packit Service |
1d8f1c |
g_main_loop_quit (loop);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_create_input_context_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GMainLoop *loop = NULL;
|
|
Packit Service |
1d8f1c |
GCancellable *cancellable = NULL;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/* create an IC */
|
|
Packit Service |
1d8f1c |
create_input_context_count = 1;
|
|
Packit Service |
1d8f1c |
loop = g_main_loop_new (NULL, TRUE);
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
"test-async",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_sucess,
|
|
Packit Service |
1d8f1c |
loop); /* user_data */
|
|
Packit Service |
1d8f1c |
g_main_loop_run (loop);
|
|
Packit Service |
1d8f1c |
g_main_loop_unref (loop);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/* call create, and then cancel */
|
|
Packit Service |
1d8f1c |
create_input_context_count = 1;
|
|
Packit Service |
1d8f1c |
loop = g_main_loop_new (NULL, TRUE);
|
|
Packit Service |
1d8f1c |
cancellable = g_cancellable_new ();
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
"test-async",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
cancellable, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_failed,
|
|
Packit Service |
1d8f1c |
loop); /* user_data */
|
|
Packit Service |
1d8f1c |
g_cancellable_cancel (cancellable);
|
|
Packit Service |
1d8f1c |
g_object_unref (cancellable);
|
|
Packit Service |
1d8f1c |
g_main_loop_run (loop);
|
|
Packit Service |
1d8f1c |
g_main_loop_unref (loop);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/* ceate four IC, and cancel two */
|
|
Packit Service |
1d8f1c |
create_input_context_count = 4;
|
|
Packit Service |
1d8f1c |
loop = g_main_loop_new (NULL, TRUE);
|
|
Packit Service |
1d8f1c |
cancellable = g_cancellable_new ();
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
"test-async",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
cancellable, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_failed,
|
|
Packit Service |
1d8f1c |
loop); /* user_data */
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
"test-async",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_sucess,
|
|
Packit Service |
1d8f1c |
loop); /* user_data */
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
"test-async",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_sucess,
|
|
Packit Service |
1d8f1c |
loop); /* user_data */
|
|
Packit Service |
1d8f1c |
ibus_bus_create_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
"test-async",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
cancellable, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_create_input_context_async_failed,
|
|
Packit Service |
1d8f1c |
loop); /* user_data */
|
|
Packit Service |
1d8f1c |
g_cancellable_cancel (cancellable);
|
|
Packit Service |
1d8f1c |
g_object_unref (cancellable);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_main_loop_run (loop);
|
|
Packit Service |
1d8f1c |
g_main_loop_unref (loop);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_current_input_context_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
g_free (ibus_bus_current_input_context_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error));
|
|
Packit Service |
1d8f1c |
// no null check.
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_current_input_context_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_current_input_context_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_current_input_context_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_current_input_context_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_list_engines_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
GList *engines = ibus_bus_list_engines_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
// no null check.
|
|
Packit Service |
1d8f1c |
g_list_foreach (engines, (GFunc) g_object_unref, NULL);
|
|
Packit Service |
1d8f1c |
g_list_free (engines);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_list_engines_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_list_engines_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_list_engines_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_list_engines_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#ifndef IBUS_DISABLE_DEPRECATED
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_list_active_engines_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
GList *engines = ibus_bus_list_active_engines_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
// no null check.
|
|
Packit Service |
1d8f1c |
g_list_foreach (engines, (GFunc) g_object_unref, NULL);
|
|
Packit Service |
1d8f1c |
g_list_free (engines);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_list_active_engines_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_list_active_engines_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_list_active_engines_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_list_active_engines_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_use_sys_layout_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
ibus_bus_get_use_sys_layout_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_get_use_sys_layout_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_use_sys_layout_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_use_sys_layout_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_use_sys_layout_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_use_global_engine_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
ibus_bus_get_use_global_engine_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_get_use_global_engine_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_use_global_engine_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_use_global_engine_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_use_global_engine_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_is_global_engine_enabled_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
ibus_bus_is_global_engine_enabled_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_is_global_engine_enabled_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_is_global_engine_enabled_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_is_global_engine_enabled_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_is_global_engine_enabled_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
#endif /* IBUS_DISABLE_DEPRECATED */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_global_engine_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
IBusEngineDesc *desc = ibus_bus_get_global_engine_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
if (desc)
|
|
Packit Service |
1d8f1c |
g_object_unref (desc);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_get_global_engine_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_global_engine_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_global_engine_async (bus,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_global_engine_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_set_global_engine_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
ibus_bus_set_global_engine_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_set_global_engine_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_set_global_engine_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_set_global_engine_async (bus,
|
|
Packit Service |
1d8f1c |
"anthy",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_set_global_engine_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_preload_engines_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
ibus_bus_preload_engines_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_preload_engines_async_finish: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_preload_engines_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
const gchar *preload_engines[] = { "xkb:us::eng", NULL };
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
ibus_bus_preload_engines_async (
|
|
Packit Service |
1d8f1c |
bus,
|
|
Packit Service |
1d8f1c |
preload_engines,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_preload_engines_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_get_address (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GVariant *result;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property (bus, "Address");
|
|
Packit Service |
1d8f1c |
g_variant_get_string (result, NULL);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_get_current_input_context (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GVariant *result;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property (bus, "CurrentInputContext");
|
|
Packit Service |
1d8f1c |
g_variant_get_string (result, NULL);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_get_engines (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GVariant *result, *var;
|
|
Packit Service |
1d8f1c |
GVariantIter *iter;
|
|
Packit Service |
1d8f1c |
GList *engines = NULL;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property (bus, "Engines");
|
|
Packit Service |
1d8f1c |
iter = g_variant_iter_new (result);
|
|
Packit Service |
1d8f1c |
while (g_variant_iter_loop (iter, "v", &var)) {
|
|
Packit Service |
1d8f1c |
IBusSerializable *serializable = ibus_serializable_deserialize (var);
|
|
Packit Service |
1d8f1c |
g_object_ref_sink (serializable);
|
|
Packit Service |
1d8f1c |
engines = g_list_append (engines, serializable);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
g_variant_iter_free (iter);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
print_engines (engines);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_list_foreach (engines, (GFunc) g_object_unref, NULL);
|
|
Packit Service |
1d8f1c |
g_list_free (engines);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_get_global_engine (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GVariant *result, *obj;
|
|
Packit Service |
1d8f1c |
IBusEngineDesc *desc = NULL;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
if (!ibus_bus_set_global_engine (bus, "xkb:us::eng"))
|
|
Packit Service |
1d8f1c |
return;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property (bus, "GlobalEngine");
|
|
Packit Service |
1d8f1c |
g_assert (result);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
obj = g_variant_get_variant (result);
|
|
Packit Service |
1d8f1c |
g_assert (obj);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
desc = IBUS_ENGINE_DESC (ibus_serializable_deserialize (obj));
|
|
Packit Service |
1d8f1c |
g_assert (desc);
|
|
Packit Service |
1d8f1c |
g_assert_cmpstr (ibus_engine_desc_get_name (desc), ==, "xkb:us::eng");
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_variant_unref (obj);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_object_unref (desc);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_set_preload_engines (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
const gchar *preload_engines[] = { "xkb:us::eng", "xkb:jp::jpn", NULL };
|
|
Packit Service |
1d8f1c |
GVariant *variant;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
variant = g_variant_new_strv (preload_engines, -1);
|
|
Packit Service |
1d8f1c |
ibus_bus_set_ibus_property (bus, "PreloadEngines", variant);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_address_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
GVariant *result;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
g_variant_get_string (result, NULL);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
g_debug ("finish_get_address_async: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_address_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_ibus_property_async (
|
|
Packit Service |
1d8f1c |
bus,
|
|
Packit Service |
1d8f1c |
"Address",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_address_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_current_input_context_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
GVariant *result;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
g_variant_get_string (result, NULL);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
g_debug ("finish_get_current_input_context_async: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_current_input_context_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_ibus_property_async (
|
|
Packit Service |
1d8f1c |
bus,
|
|
Packit Service |
1d8f1c |
"CurrentInputContext",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_current_input_context_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_engines_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
GVariant *result, *var;
|
|
Packit Service |
1d8f1c |
GVariantIter *iter;
|
|
Packit Service |
1d8f1c |
GList *engines = NULL;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
iter = g_variant_iter_new (result);
|
|
Packit Service |
1d8f1c |
while (g_variant_iter_loop (iter, "v", &var)) {
|
|
Packit Service |
1d8f1c |
IBusSerializable *serializable = ibus_serializable_deserialize (var);
|
|
Packit Service |
1d8f1c |
g_object_ref_sink (serializable);
|
|
Packit Service |
1d8f1c |
engines = g_list_append (engines, serializable);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
g_variant_iter_free (iter);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
print_engines (engines);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_list_foreach (engines, (GFunc) g_object_unref, NULL);
|
|
Packit Service |
1d8f1c |
g_list_free (engines);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_debug ("finish_get_engines_async: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_engines_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_ibus_property_async (
|
|
Packit Service |
1d8f1c |
bus,
|
|
Packit Service |
1d8f1c |
"Engines",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_engines_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_get_prop_global_engine_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
GVariant *result, *obj;
|
|
Packit Service |
1d8f1c |
IBusEngineDesc *desc = NULL;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = ibus_bus_get_ibus_property_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
obj = g_variant_get_variant (result);
|
|
Packit Service |
1d8f1c |
desc = IBUS_ENGINE_DESC (ibus_serializable_deserialize (obj));
|
|
Packit Service |
1d8f1c |
g_variant_unref (obj);
|
|
Packit Service |
1d8f1c |
g_variant_unref (result);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
if (desc)
|
|
Packit Service |
1d8f1c |
g_object_unref (desc);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_debug ("finish_get_prop_global_engine_async: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_get_prop_global_engine_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_bus_get_ibus_property_async (
|
|
Packit Service |
1d8f1c |
bus,
|
|
Packit Service |
1d8f1c |
"GlobalEngine",
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_get_prop_global_engine_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_set_preload_engines_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
ibus_bus_set_ibus_property_async_finish (bus, res, &error);
|
|
Packit Service |
1d8f1c |
g_debug ("finish_set_preload_engines_async: OK");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_set_preload_engines_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
const gchar *preload_engines[] = { "xkb:us::eng", "xkb:jp::jpn", NULL };
|
|
Packit Service |
1d8f1c |
GVariant *variant;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
variant = g_variant_new_strv (preload_engines, -1);
|
|
Packit Service |
1d8f1c |
ibus_bus_set_ibus_property_async (
|
|
Packit Service |
1d8f1c |
bus,
|
|
Packit Service |
1d8f1c |
"PreloadEngines",
|
|
Packit Service |
1d8f1c |
variant,
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_set_preload_engines_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
finish_exit_async (GObject *source_object,
|
|
Packit Service |
1d8f1c |
GAsyncResult *res,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GError *error = NULL;
|
|
Packit Service |
1d8f1c |
gboolean result = ibus_bus_exit_async_finish (bus,
|
|
Packit Service |
1d8f1c |
res,
|
|
Packit Service |
1d8f1c |
&error);
|
|
Packit Service |
1d8f1c |
g_assert (result);
|
|
Packit Service |
1d8f1c |
g_debug ("ibus_bus_exit_finish: OK");
|
|
Packit Service |
1d8f1c |
g_usleep (G_USEC_PER_SEC);
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
start_exit_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
rpm-build |
0a7332 |
/* When `./runtest ibus-bus` runs, ibus-daemon sometimes failed to
|
|
rpm-build |
0a7332 |
* restart because closing a file descriptor was failed in
|
|
rpm-build |
0a7332 |
* bus/server.c:_restart_server() with a following error:
|
|
rpm-build |
0a7332 |
* "inotify read(): Bad file descriptor"
|
|
rpm-build |
0a7332 |
* Now g_usleep() is added here to write down the buffer and not to
|
|
rpm-build |
0a7332 |
* fail to restart ibus-daemon.
|
|
rpm-build |
0a7332 |
*/
|
|
rpm-build |
0a7332 |
g_usleep (G_USEC_PER_SEC);
|
|
Packit Service |
1d8f1c |
ibus_bus_exit_async (bus,
|
|
Packit Service |
1d8f1c |
TRUE, /* restart */
|
|
Packit Service |
1d8f1c |
-1, /* timeout */
|
|
Packit Service |
1d8f1c |
NULL, /* cancellable */
|
|
Packit Service |
1d8f1c |
finish_exit_async,
|
|
Packit Service |
1d8f1c |
NULL); /* user_data */
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static gboolean
|
|
Packit Service |
1d8f1c |
test_async_apis_finish (gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
rpm-build |
0a7332 |
/* INFO: g_warning() causes SEGV with runtest script */
|
|
rpm-build |
0a7332 |
if (ibus_get_address () == NULL)
|
|
rpm-build |
0a7332 |
g_warning ("ibus-daemon does not restart yet from start_exit_async().");
|
|
Packit Service |
1d8f1c |
ibus_quit ();
|
|
Packit Service |
1d8f1c |
return FALSE;
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_get_engines_by_names (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
IBusEngineDesc **engines = NULL;
|
|
Packit Service |
1d8f1c |
const gchar *names[] = {
|
|
Packit Service |
1d8f1c |
"xkb:us::eng",
|
|
Packit Service |
1d8f1c |
"xkb:ca:eng:eng",
|
|
Packit Service |
1d8f1c |
"xkb:fr::fra",
|
|
Packit Service |
1d8f1c |
"xkb:jp::jpn",
|
|
Packit Service |
1d8f1c |
"invalid_engine_name",
|
|
Packit Service |
1d8f1c |
NULL,
|
|
Packit Service |
1d8f1c |
};
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
engines = ibus_bus_get_engines_by_names (bus, names);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_assert(engines != NULL);
|
|
Packit Service |
1d8f1c |
IBusEngineDesc **p;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
gint i = 0;
|
|
Packit Service |
1d8f1c |
for (p = engines; *p != NULL; p++) {
|
|
Packit Service |
1d8f1c |
g_assert (IBUS_IS_ENGINE_DESC (*p));
|
|
Packit Service |
1d8f1c |
g_assert_cmpstr (names[i], ==, ibus_engine_desc_get_name (*p));
|
|
Packit Service |
1d8f1c |
i++;
|
|
Packit Service |
1d8f1c |
g_object_unref (*p);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
// The last engine does not exist.
|
|
Packit Service |
1d8f1c |
g_assert_cmpint (i, ==, G_N_ELEMENTS(names) - 2);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_free (engines);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
engines = NULL;
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_async_apis (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
g_debug ("start");
|
|
Packit Service |
1d8f1c |
call_next_async_function ();
|
|
Packit Service |
1d8f1c |
ibus_main ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
call_next_async_function (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
static void (*async_functions[])(void) = {
|
|
Packit Service |
1d8f1c |
start_request_name_async,
|
|
Packit Service |
1d8f1c |
start_name_has_owner_async,
|
|
Packit Service |
1d8f1c |
start_get_name_owner_async,
|
|
Packit Service |
1d8f1c |
start_release_name_async,
|
|
Packit Service |
1d8f1c |
start_add_match_async,
|
|
Packit Service |
1d8f1c |
start_remove_match_async,
|
|
Packit Service |
1d8f1c |
start_current_input_context_async,
|
|
Packit Service |
1d8f1c |
// FIXME test ibus_bus_register_component_async.
|
|
Packit Service |
1d8f1c |
start_list_engines_async,
|
|
Packit Service |
1d8f1c |
start_list_active_engines_async,
|
|
Packit Service |
1d8f1c |
start_get_use_sys_layout_async,
|
|
Packit Service |
1d8f1c |
start_get_use_global_engine_async,
|
|
Packit Service |
1d8f1c |
start_is_global_engine_enabled_async,
|
|
Packit Service |
1d8f1c |
start_set_global_engine_async,
|
|
Packit Service |
1d8f1c |
start_get_global_engine_async,
|
|
Packit Service |
1d8f1c |
start_preload_engines_async,
|
|
Packit Service |
1d8f1c |
start_get_address_async,
|
|
Packit Service |
1d8f1c |
start_get_current_input_context_async,
|
|
Packit Service |
1d8f1c |
start_get_engines_async,
|
|
Packit Service |
1d8f1c |
start_get_prop_global_engine_async,
|
|
Packit Service |
1d8f1c |
start_set_preload_engines_async,
|
|
Packit Service |
1d8f1c |
start_exit_async,
|
|
Packit Service |
1d8f1c |
};
|
|
Packit Service |
1d8f1c |
static guint index = 0;
|
|
Packit Service |
1d8f1c |
|
|
rpm-build |
0a7332 |
/* Use g_timeout_add to make sure test_async_apis finishes even if
|
|
rpm-build |
0a7332 |
* async_functions is empty.
|
|
rpm-build |
0a7332 |
*/
|
|
Packit Service |
1d8f1c |
if (index >= G_N_ELEMENTS (async_functions))
|
|
Packit Service |
1d8f1c |
g_timeout_add (1, test_async_apis_finish, NULL);
|
|
Packit Service |
1d8f1c |
else
|
|
Packit Service |
1d8f1c |
(*async_functions[index++])();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
_bus_connected_cb (IBusBus *bus,
|
|
Packit Service |
1d8f1c |
gpointer user_data)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
g_assert (ibus_bus_is_connected (bus));
|
|
Packit Service |
1d8f1c |
ibus_quit ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_bus_new_async (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
g_object_unref (bus);
|
|
Packit Service |
1d8f1c |
bus = ibus_bus_new_async ();
|
|
Packit Service |
1d8f1c |
g_signal_connect (bus, "connected", G_CALLBACK (_bus_connected_cb), NULL);
|
|
Packit Service |
1d8f1c |
ibus_main ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
gint
|
|
Packit Service |
1d8f1c |
main (gint argc,
|
|
Packit Service |
1d8f1c |
gchar **argv)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
gint result;
|
|
Packit Service |
1d8f1c |
ibus_init ();
|
|
Packit Service |
1d8f1c |
g_test_init (&argc, &argv, NULL);
|
|
Packit Service |
1d8f1c |
bus = ibus_bus_new ();
|
|
Packit Service |
1d8f1c |
g_object_unref (bus);
|
|
Packit Service |
1d8f1c |
bus = ibus_bus_new (); // crosbug.com/17293
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
if (!ibus_bus_is_connected (bus)) {
|
|
Packit Service |
1d8f1c |
g_warning ("Not connected to ibus-daemon");
|
|
Packit Service |
1d8f1c |
g_object_unref (bus);
|
|
Packit Service |
1d8f1c |
return -1;
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/list-engines", test_list_engines);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/list-active-engines", test_list_active_engines);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/create-input-context-async",
|
|
Packit Service |
1d8f1c |
test_create_input_context_async);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/get-engines-by-names", test_get_engines_by_names);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/get-address", test_get_address);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/get-current-input-context",
|
|
Packit Service |
1d8f1c |
test_get_current_input_context);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/get-engines", test_get_engines);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/get-global-engine", test_get_global_engine);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/set-preload-engines", test_set_preload_engines);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/async-apis", test_async_apis);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/bus-new-async", test_bus_new_async);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/bus-new-async/list-engines", test_list_engines);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/bus-new-async/list-active-engines", test_list_active_engines);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/bus-new-async/create-input-context-async",
|
|
Packit Service |
1d8f1c |
test_create_input_context_async);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/bus-new-async/get-engines-by-names", test_get_engines_by_names);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/bus-new-async/async-apis", test_async_apis);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
result = g_test_run ();
|
|
Packit Service |
1d8f1c |
g_object_unref (bus);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
return result;
|
|
Packit Service |
1d8f1c |
}
|