ibustext.h \
ibuskeymap.h \
ibusattribute.h \
+ ibusattrlist.h \
ibusproperty.h \
ibuslookuptable.h \
ibusinputcontext.h \
ibustext.c \
ibuskeymap.c \
ibusattribute.c \
+ ibusattrlist.c \
ibusproperty.c \
ibuslookuptable.c \
ibusinputcontext.c \
static gboolean ibus_attribute_copy (IBusAttribute *dest,
const IBusAttribute *src);
-static void ibus_attr_list_class_init (IBusAttrListClass *klass);
-static void ibus_attr_list_init (IBusAttrList *attr_list);
-static void ibus_attr_list_destroy (IBusAttrList *attr_list);
-static gboolean ibus_attr_list_serialize (IBusAttrList *attr_list,
- IBusMessageIter *iter);
-static gboolean ibus_attr_list_deserialize (IBusAttrList *attr_list,
- IBusMessageIter *iter);
-static gboolean ibus_attr_list_copy (IBusAttrList *dest,
- const IBusAttrList *src);
-
static IBusSerializableClass *parent_class = NULL;
GType
end_index);
}
-GType
-ibus_attr_list_get_type (void)
-{
- static GType type = 0;
-
- static const GTypeInfo type_info = {
- sizeof (IBusAttrListClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ibus_attr_list_class_init,
- NULL, /* class finialize */
- NULL, /* class data */
- sizeof (IBusAttrList),
- 0,
- (GInstanceInitFunc) ibus_attr_list_init,
- };
-
- if (type == 0) {
- type = g_type_register_static (IBUS_TYPE_SERIALIZABLE,
- "IBusAttrList",
- &type_info,
- 0);
- }
-
- return type;
-}
-
-static void
-ibus_attr_list_class_init (IBusAttrListClass *klass)
-{
- IBusObjectClass *object_class = IBUS_OBJECT_CLASS (klass);
- IBusSerializableClass *serializable_class = IBUS_SERIALIZABLE_CLASS (klass);
-
- parent_class = (IBusSerializableClass *) g_type_class_peek_parent (klass);
-
- object_class->destroy = (IBusObjectDestroyFunc) ibus_attr_list_destroy;
-
- serializable_class->serialize = (IBusSerializableSerializeFunc) ibus_attr_list_serialize;
- serializable_class->deserialize = (IBusSerializableDeserializeFunc) ibus_attr_list_deserialize;
- serializable_class->copy = (IBusSerializableCopyFunc) ibus_attr_list_copy;
-
- g_string_append (serializable_class->signature, "av");
-}
-
-static void
-ibus_attr_list_init (IBusAttrList *attr_list)
-{
- attr_list->attributes = g_array_new (TRUE, TRUE, sizeof (IBusAttribute *));
-}
-
-static void
-ibus_attr_list_destroy (IBusAttrList *attr_list)
-{
- g_assert (IBUS_IS_ATTR_LIST (attr_list));
-
- gint i;
- for (i = 0;; i++) {
- IBusAttribute *attr;
-
- attr = ibus_attr_list_get (attr_list, i);
- if (attr == NULL)
- break;
-
- g_object_unref (attr);
- }
-
- g_array_free (attr_list->attributes, TRUE);
-
- IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)attr_list);
-}
-
-static gboolean
-ibus_attr_list_serialize (IBusAttrList *attr_list,
- IBusMessageIter *iter)
-{
- IBusMessageIter array_iter;
- gboolean retval;
- guint i;
-
- retval = parent_class->serialize ((IBusSerializable *)attr_list, iter);
- g_return_val_if_fail (retval, FALSE);
-
- g_return_val_if_fail (IBUS_IS_ATTR_LIST (attr_list), FALSE);
-
- retval = ibus_message_iter_open_container (iter,
- IBUS_TYPE_ARRAY,
- "v",
- &array_iter);
- g_return_val_if_fail (retval, FALSE);
-
- for (i = 0;; i++) {
- IBusAttribute *attr;
-
- attr = ibus_attr_list_get (attr_list, i);
- if (attr == NULL)
- break;
-
- retval = ibus_message_iter_append (&array_iter, IBUS_TYPE_ATTRIBUTE, &attr);
- g_return_val_if_fail (retval, FALSE);
- }
-
- retval = ibus_message_iter_close_container (iter, &array_iter);
- g_return_val_if_fail (retval, FALSE);
-
- return TRUE;
-}
-
-static gboolean
-ibus_attr_list_deserialize (IBusAttrList *attr_list,
- IBusMessageIter *iter)
-{
- DBusMessageIter array_iter;
- gboolean retval;
-
- retval = parent_class->deserialize ((IBusSerializable *)attr_list, iter);
- g_return_val_if_fail (retval, FALSE);
-
- retval = ibus_message_iter_recurse (iter, IBUS_TYPE_ARRAY, &array_iter);
- g_return_val_if_fail (retval, FALSE);
-
- while (ibus_message_iter_get_arg_type (&array_iter) != G_TYPE_INVALID) {
- IBusAttribute *attr;
-
- retval = ibus_message_iter_get (&array_iter, IBUS_TYPE_ATTRIBUTE, &attr);
- g_return_val_if_fail (retval, FALSE);
- ibus_message_iter_next (&array_iter);
-
- ibus_attr_list_append (attr_list, attr);
- g_object_unref (attr);
- }
-
- ibus_message_iter_next (iter);
-
- return TRUE;
-}
-
-
-
-static gboolean
-ibus_attr_list_copy (IBusAttrList *dest,
- const IBusAttrList *src)
-{
- gboolean retval;
-
- retval = parent_class->copy ((IBusSerializable *)dest,
- (IBusSerializable *)src);
- g_return_val_if_fail (retval, FALSE);
-
- g_return_val_if_fail (IBUS_IS_ATTRIBUTE (dest), FALSE);
- g_return_val_if_fail (IBUS_IS_ATTRIBUTE (src), FALSE);
-
- gint i;
- for (i = 0; ; i++) {
- IBusAttribute *attr = ibus_attr_list_get ((IBusAttrList *)src, i);
- if (attr == NULL) {
- break;
- }
-
- attr = (IBusAttribute *) ibus_serializable_copy ((IBusSerializable *) attr);
- if (attr == NULL) {
- g_warning ("can not copy attribute");
- continue;
- }
-
- ibus_attr_list_append (dest, attr);
- }
- return TRUE;
-}
-
-IBusAttrList *
-ibus_attr_list_new ()
-{
- IBusAttrList *attr_list;
- attr_list = g_object_new (IBUS_TYPE_ATTR_LIST, NULL);
- return attr_list;
-}
-
-void
-ibus_attr_list_append (IBusAttrList *attr_list,
- IBusAttribute *attr)
-{
- g_assert (IBUS_IS_ATTR_LIST (attr_list));
- g_assert (IBUS_IS_ATTRIBUTE (attr));
-
- g_object_ref (attr);
- g_array_append_val (attr_list->attributes, attr);
-}
-
-IBusAttribute *
-ibus_attr_list_get (IBusAttrList *attr_list,
- guint index)
-{
- g_assert (IBUS_IS_ATTR_LIST (attr_list));
- IBusAttribute *attr = NULL;
-
- if (index < attr_list->attributes->len) {
- attr = g_array_index (attr_list->attributes, IBusAttribute *, index);
- }
-
- return attr;
-}
-
#define __IBUS_ATTRIBUTE_H_
#include "ibusserializable.h"
+
+G_BEGIN_DECLS
+
/*
* Type macros.
*/
#define IBUS_ATTRIBUTE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_ATTRIBUTE, IBusAttributeClass))
-/* define IBusAttrList macros */
-/**
- * IBUS_TYPE_ATTR_LIST:
- *
- * Return GType of IBus attribute list.
- */
-#define IBUS_TYPE_ATTR_LIST \
- (ibus_attr_list_get_type ())
-
-/**
- * IBUS_ATTR_LIST:
- * @obj: An object which is subject to casting.
- *
- * Casts an IBUS_ATTR_LIST or derived pointer into a (IBusAttrList*) pointer.
- * Depending on the current debugging level, this function may invoke
- * certain runtime checks to identify invalid casts.
- */
-#define IBUS_ATTR_LIST(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_ATTR_LIST, IBusAttrList))
-
-/**
- * IBUS_ATTR_LIST_CLASS:
- * @klass: A class to be casted.
- *
- * Casts a derived IBusAttrListClass structure into a IBusAttrListClass structure.
- */
-#define IBUS_ATTR_LIST_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_ATTR_LIST, IBusAttrListClass))
-
-/**
- * IBUS_IS_ATTR_LIST:
- * @obj: Instance to check for being a IBUS_ATTR_LIST.
- *
- * Checks whether a valid GTypeInstance pointer is of type IBUS_ATTR_LIST.
- */
-#define IBUS_IS_ATTR_LIST(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_ATTR_LIST))
-
-/**
- * IBUS_IS_ATTR_LIST_CLASS:
- * @klass: A class to be checked.
- *
- * Checks whether class "is a" valid IBusAttrListClass structure of type IBUS_ATTR_LIST or derived.
- */
-#define IBUS_IS_ATTR_LIST_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_ATTR_LIST))
-
-/**
- * IBUS_ATTR_LIST_GET_CLASS:
- * @obj: An object.
- *
- * Get the class of a given object and cast the class to IBusAttrListClass.
- */
-#define IBUS_ATTR_LIST_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_ATTR_LIST, IBusAttrListClass))
-
/**
* IBusAttrType:
* @IBUS_ATTR_TYPE_UNDERLINE: Decorate with underline.
IBUS_ATTR_UNDERLINE_ERROR = 4,
} IBusAttrUnderline;
-G_BEGIN_DECLS
-
typedef struct _IBusAttribute IBusAttribute;
typedef struct _IBusAttributeClass IBusAttributeClass;
-typedef struct _IBusAttrList IBusAttrList;
-typedef struct _IBusAttrListClass IBusAttrListClass;
-
/**
* IBusAttribute:
IBusSerializableClass parent;
};
-/**
- * IBusAttrList:
- * @attributes: GArray that holds #IBusAttribute.
- *
- * Array of IBusAttribute.
- */
-struct _IBusAttrList {
- IBusSerializable parent;
-
- /*< public >*/
- GArray *attributes;
-};
-
-struct _IBusAttrListClass {
- IBusSerializableClass parent;
-};
-
/**
* ibus_attribute_get_type:
* @returns: GType of IBusAttribute.
guint start_index,
guint end_index);
-
-/**
- * ibus_attr_list_get_type:
- * @returns: GType of IBusAttrList.
- *
- * Returns GType of IBusAttrList.
- */
-GType ibus_attr_list_get_type ();
-
-/**
- * ibus_attr_list_new:
- * @returns: A newly allocated IBusAttrList.
- *
- * New an IBusAttrList.
- */
-IBusAttrList *ibus_attr_list_new ();
-
-/**
- * ibus_attr_list_append:
- * @attr_list: An IBusAttrList instance.
- * @attr: The IBusAttribute instance to be appended.
- *
- * Append an IBusAttribute to IBusAttrList, and increase reference.
- */
-void ibus_attr_list_append (IBusAttrList *attr_list,
- IBusAttribute *attr);
-/**
- * ibus_attr_list_get:
- * @attr_list: An IBusAttrList instance.
- * @index: Index of the @attr_list.
- * @returns: IBusAttribute at given index, NULL if no such IBusAttribute.
- *
- * Returns IBusAttribute at given index. Borrowed reference.
- */
-IBusAttribute *ibus_attr_list_get (IBusAttrList *attr_list,
- guint index);
-
G_END_DECLS
#endif
--- /dev/null
+/* vim:set et sts=4: */
+/* IBus - The Input Bus
+ * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
+ * Copyright (C) 2008-2010 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 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#include "ibusattrlist.h"
+
+/* functions prototype */
+static void ibus_attr_list_class_init (IBusAttrListClass *klass);
+static void ibus_attr_list_init (IBusAttrList *attr_list);
+static void ibus_attr_list_destroy (IBusAttrList *attr_list);
+static gboolean ibus_attr_list_serialize (IBusAttrList *attr_list,
+ IBusMessageIter *iter);
+static gboolean ibus_attr_list_deserialize (IBusAttrList *attr_list,
+ IBusMessageIter *iter);
+static gboolean ibus_attr_list_copy (IBusAttrList *dest,
+ const IBusAttrList *src);
+
+static IBusSerializableClass *parent_class = NULL;
+
+GType
+ibus_attr_list_get_type (void)
+{
+ static GType type = 0;
+
+ static const GTypeInfo type_info = {
+ sizeof (IBusAttrListClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) ibus_attr_list_class_init,
+ NULL, /* class finialize */
+ NULL, /* class data */
+ sizeof (IBusAttrList),
+ 0,
+ (GInstanceInitFunc) ibus_attr_list_init,
+ };
+
+ if (type == 0) {
+ type = g_type_register_static (IBUS_TYPE_SERIALIZABLE,
+ "IBusAttrList",
+ &type_info,
+ 0);
+ }
+
+ return type;
+}
+
+static void
+ibus_attr_list_class_init (IBusAttrListClass *klass)
+{
+ IBusObjectClass *object_class = IBUS_OBJECT_CLASS (klass);
+ IBusSerializableClass *serializable_class = IBUS_SERIALIZABLE_CLASS (klass);
+
+ parent_class = (IBusSerializableClass *) g_type_class_peek_parent (klass);
+
+ object_class->destroy = (IBusObjectDestroyFunc) ibus_attr_list_destroy;
+
+ serializable_class->serialize = (IBusSerializableSerializeFunc) ibus_attr_list_serialize;
+ serializable_class->deserialize = (IBusSerializableDeserializeFunc) ibus_attr_list_deserialize;
+ serializable_class->copy = (IBusSerializableCopyFunc) ibus_attr_list_copy;
+
+ g_string_append (serializable_class->signature, "av");
+}
+
+static void
+ibus_attr_list_init (IBusAttrList *attr_list)
+{
+ attr_list->attributes = g_array_new (TRUE, TRUE, sizeof (IBusAttribute *));
+}
+
+static void
+ibus_attr_list_destroy (IBusAttrList *attr_list)
+{
+ g_assert (IBUS_IS_ATTR_LIST (attr_list));
+
+ gint i;
+ for (i = 0;; i++) {
+ IBusAttribute *attr;
+
+ attr = ibus_attr_list_get (attr_list, i);
+ if (attr == NULL)
+ break;
+
+ g_object_unref (attr);
+ }
+
+ g_array_free (attr_list->attributes, TRUE);
+
+ IBUS_OBJECT_CLASS (parent_class)->destroy ((IBusObject *)attr_list);
+}
+
+static gboolean
+ibus_attr_list_serialize (IBusAttrList *attr_list,
+ IBusMessageIter *iter)
+{
+ IBusMessageIter array_iter;
+ gboolean retval;
+ guint i;
+
+ retval = parent_class->serialize ((IBusSerializable *)attr_list, iter);
+ g_return_val_if_fail (retval, FALSE);
+
+ g_return_val_if_fail (IBUS_IS_ATTR_LIST (attr_list), FALSE);
+
+ retval = ibus_message_iter_open_container (iter,
+ IBUS_TYPE_ARRAY,
+ "v",
+ &array_iter);
+ g_return_val_if_fail (retval, FALSE);
+
+ for (i = 0;; i++) {
+ IBusAttribute *attr;
+
+ attr = ibus_attr_list_get (attr_list, i);
+ if (attr == NULL)
+ break;
+
+ retval = ibus_message_iter_append (&array_iter, IBUS_TYPE_ATTRIBUTE, &attr);
+ g_return_val_if_fail (retval, FALSE);
+ }
+
+ retval = ibus_message_iter_close_container (iter, &array_iter);
+ g_return_val_if_fail (retval, FALSE);
+
+ return TRUE;
+}
+
+static gboolean
+ibus_attr_list_deserialize (IBusAttrList *attr_list,
+ IBusMessageIter *iter)
+{
+ DBusMessageIter array_iter;
+ gboolean retval;
+
+ retval = parent_class->deserialize ((IBusSerializable *)attr_list, iter);
+ g_return_val_if_fail (retval, FALSE);
+
+ retval = ibus_message_iter_recurse (iter, IBUS_TYPE_ARRAY, &array_iter);
+ g_return_val_if_fail (retval, FALSE);
+
+ while (ibus_message_iter_get_arg_type (&array_iter) != G_TYPE_INVALID) {
+ IBusAttribute *attr;
+
+ retval = ibus_message_iter_get (&array_iter, IBUS_TYPE_ATTRIBUTE, &attr);
+ g_return_val_if_fail (retval, FALSE);
+ ibus_message_iter_next (&array_iter);
+
+ ibus_attr_list_append (attr_list, attr);
+ g_object_unref (attr);
+ }
+
+ ibus_message_iter_next (iter);
+
+ return TRUE;
+}
+
+
+
+static gboolean
+ibus_attr_list_copy (IBusAttrList *dest,
+ const IBusAttrList *src)
+{
+ gboolean retval;
+
+ retval = parent_class->copy ((IBusSerializable *)dest,
+ (IBusSerializable *)src);
+ g_return_val_if_fail (retval, FALSE);
+
+ g_return_val_if_fail (IBUS_IS_ATTRIBUTE (dest), FALSE);
+ g_return_val_if_fail (IBUS_IS_ATTRIBUTE (src), FALSE);
+
+ gint i;
+ for (i = 0; ; i++) {
+ IBusAttribute *attr = ibus_attr_list_get ((IBusAttrList *)src, i);
+ if (attr == NULL) {
+ break;
+ }
+
+ attr = (IBusAttribute *) ibus_serializable_copy ((IBusSerializable *) attr);
+ if (attr == NULL) {
+ g_warning ("can not copy attribute");
+ continue;
+ }
+
+ ibus_attr_list_append (dest, attr);
+ }
+ return TRUE;
+}
+
+IBusAttrList *
+ibus_attr_list_new ()
+{
+ IBusAttrList *attr_list;
+ attr_list = g_object_new (IBUS_TYPE_ATTR_LIST, NULL);
+ return attr_list;
+}
+
+void
+ibus_attr_list_append (IBusAttrList *attr_list,
+ IBusAttribute *attr)
+{
+ g_assert (IBUS_IS_ATTR_LIST (attr_list));
+ g_assert (IBUS_IS_ATTRIBUTE (attr));
+
+ g_object_ref (attr);
+ g_array_append_val (attr_list->attributes, attr);
+}
+
+IBusAttribute *
+ibus_attr_list_get (IBusAttrList *attr_list,
+ guint index)
+{
+ g_assert (IBUS_IS_ATTR_LIST (attr_list));
+ IBusAttribute *attr = NULL;
+
+ if (index < attr_list->attributes->len) {
+ attr = g_array_index (attr_list->attributes, IBusAttribute *, index);
+ }
+
+ return attr;
+}
+
+
--- /dev/null
+/* vim:set et sts=4: */
+/* IBus - The Input Bus
+ * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
+ * Copyright (C) 2008-2010 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 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+/**
+ * SECTION: ibusattribute
+ * @short_description: AttrList of IBusText.
+ * @see_also: #IBusAttribute #IBusText
+ * @stability: Stable
+ *
+ */
+#ifndef __IBUS_ATTRIBUTE_LIST_H_
+#define __IBUS_ATTRIBUTE_LIST_H_
+
+#include "ibusattribute.h"
+
+G_BEGIN_DECLS
+
+/*
+ * Type macros.
+ */
+/* define IBusAttrList macros */
+#define IBUS_TYPE_ATTR_LIST \
+ (ibus_attr_list_get_type ())
+#define IBUS_ATTR_LIST(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_ATTR_LIST, IBusAttrList))
+#define IBUS_ATTR_LIST_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_ATTR_LIST, IBusAttrListClass))
+#define IBUS_IS_ATTR_LIST(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_ATTR_LIST))
+#define IBUS_IS_ATTR_LIST_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_ATTR_LIST))
+#define IBUS_ATTR_LIST_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_ATTR_LIST, IBusAttrListClass))
+
+
+typedef struct _IBusAttrList IBusAttrList;
+typedef struct _IBusAttrListClass IBusAttrListClass;
+
+/**
+ * IBusAttrList:
+ * @attributes: GArray that holds #IBusAttribute.
+ *
+ * Array of IBusAttribute.
+ */
+struct _IBusAttrList {
+ IBusSerializable parent;
+
+ /*< public >*/
+ GArray *attributes;
+};
+
+struct _IBusAttrListClass {
+ IBusSerializableClass parent;
+};
+
+/**
+ * ibus_attr_list_get_type:
+ * @returns: GType of IBusAttrList.
+ *
+ * Returns GType of IBusAttrList.
+ */
+GType ibus_attr_list_get_type ();
+
+/**
+ * ibus_attr_list_new:
+ * @returns: A newly allocated IBusAttrList.
+ *
+ * New an IBusAttrList.
+ */
+IBusAttrList *ibus_attr_list_new ();
+
+/**
+ * ibus_attr_list_append:
+ * @attr_list: An IBusAttrList instance.
+ * @attr: The IBusAttribute instance to be appended.
+ *
+ * Append an IBusAttribute to IBusAttrList, and increase reference.
+ */
+void ibus_attr_list_append (IBusAttrList *attr_list,
+ IBusAttribute *attr);
+/**
+ * ibus_attr_list_get:
+ * @attr_list: An IBusAttrList instance.
+ * @index: Index of the @attr_list.
+ * @returns: IBusAttribute at given index, NULL if no such IBusAttribute.
+ *
+ * Returns IBusAttribute at given index. Borrowed reference.
+ */
+IBusAttribute *ibus_attr_list_get (IBusAttrList *attr_list,
+ guint index);
+
+G_END_DECLS
+#endif
+
#define __IBUS_TEXT_H_
#include "ibusserializable.h"
-#include "ibusattribute.h"
+#include "ibusattrlist.h"
/*
* Type macros.