extern "C" {
#endif
-extern int _wkb_ibus_log_dom;
-#define DBG(...) EINA_LOG_DOM_DBG(_wkb_ibus_log_dom, __VA_ARGS__)
-#define INF(...) EINA_LOG_DOM_INFO(_wkb_ibus_log_dom, __VA_ARGS__)
-#define WRN(...) EINA_LOG_DOM_WARN(_wkb_ibus_log_dom, __VA_ARGS__)
-#define ERR(...) EINA_LOG_DOM_ERR(_wkb_ibus_log_dom, __VA_ARGS__)
-#define CRITICAL(...) EINA_LOG_DOM_CRIT(_wkb_ibus_log_dom, __VA_ARGS__)
-
-
-/* from ibusshare.h */
-#define IBUS_SERVICE_IBUS "org.freedesktop.IBus"
-#define IBUS_SERVICE_PANEL "org.freedesktop.IBus.Panel"
-#define IBUS_SERVICE_CONFIG "org.freedesktop.IBus.Config"
-
-#define IBUS_PATH_IBUS "/org/freedesktop/IBus"
-#define IBUS_PATH_PANEL "/org/freedesktop/IBus/Panel"
-#define IBUS_PATH_CONFIG "/org/freedesktop/IBus/Config"
-
-#define IBUS_INTERFACE_IBUS "org.freedesktop.IBus"
-#define IBUS_INTERFACE_PANEL "org.freedesktop.IBus.Panel"
-#define IBUS_INTERFACE_CONFIG "org.freedesktop.IBus.Config"
+struct wl_input_method_context;
+/* Events */
+extern int WKB_IBUS_CONNECTED;
+extern int WKB_IBUS_DISCONNECTED;
int wkb_ibus_init(void);
-void wkb_ibus_shutdown(void);
+Eina_Bool wkb_ibus_shutdown(void);
Eina_Bool wkb_ibus_connect(void);
void wkb_ibus_disconnect(void);
Eina_Bool wkb_ibus_is_connected(void);
-/* Panel */
+/* IBus Input Context */
+void wkb_ibus_input_context_create(struct wl_input_method_context *wl_ctx);
+void wkb_ibus_input_context_destroy(void);
+void wkb_ibus_input_context_process_key_event(const char *key);
+void wkb_ibus_input_context_set_surrounding_text(const char *text, unsigned int cursor, unsigned int anchor);
+unsigned int wkb_ibus_input_context_serial(void);
+void wkb_ibus_input_context_set_serial(unsigned int serial);
+
+/* IBus Panel */
Eldbus_Service_Interface * wkb_ibus_panel_register(Eldbus_Connection *conn);
-/* Config */
-#if 0
-Eldbus_Service_Interface * wkb_ibus_config_register(Eldbus_Connection *conn);
-#endif
+/* IBus Config */
+Eldbus_Service_Interface * wkb_ibus_config_register(Eldbus_Connection *conn, const char *path);
+void wkb_ibus_config_unregister(void);
#ifdef __cplusplus
}