1 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
2 /* vim:set et sts=4: */
3 /* ibus - The Input Bus
4 * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
5 * Copyright (C) 2008-2010 Red Hat, Inc.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
26 #include "config-private.h"
28 static IBusBus *bus = NULL;
29 static IBusConfigDConf *config = NULL;
32 static gboolean ibus = FALSE;
33 static gboolean verbose = FALSE;
35 static const GOptionEntry entries[] =
37 { "ibus", 'i', 0, G_OPTION_ARG_NONE, &ibus, "component is executed by ibus",
39 { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "verbose", NULL },
45 ibus_disconnected_cb (IBusBus *bus,
52 ibus_dconf_start (void)
55 bus = ibus_bus_new ();
56 if (!ibus_bus_is_connected (bus)) {
59 g_signal_connect (bus, "disconnected", G_CALLBACK (ibus_disconnected_cb),
61 config = ibus_config_dconf_new (ibus_bus_get_connection (bus));
62 ibus_bus_request_name (bus, IBUS_SERVICE_CONFIG, 0);
67 main (gint argc, gchar **argv)
70 GOptionContext *context;
72 setlocale (LC_ALL, "");
74 context = g_option_context_new ("- ibus dconf component");
76 g_option_context_add_main_entries (context, entries, "ibus-dconf");
78 if (!g_option_context_parse (context, &argc, &argv, &error)) {
79 g_print ("Option parsing failed: %s\n", error->message);
83 ibus_set_log_handler (verbose);