~ubuntu-branches/ubuntu/quantal/ibus/quantal

« back to all changes in this revision

Viewing changes to src/ibusattribute.c

  • Committer: Bazaar Package Importer
  • Author(s): Barry Warsaw
  • Date: 2011-08-11 17:00:57 UTC
  • mfrom: (6.2.14 sid)
  • Revision ID: james.westby@ubuntu.com-20110811170057-6dmbfs4s3cchzl7x
Tags: 1.3.99.20110419-1ubuntu1
* Merge with Debian unstable.  Remaining Ubuntu changes:
  - Indicator support:
    + Add 05_appindicator.patch: Use an indicator rather than a notification
      icon.
    + debian/control: Recommend python-appindicator.
  - debian/control: Install im-switch instead of im-config by default.
  - debian/README.source: Removed, it was outdated and no longer correct
  - debian/patches/01_ubuntu_desktop: Fix "Desktop entry needs the
    X-Ubuntu-Gettext-Domain key"  (LP: #457632)
  - debian/patches/02_title_update.patch: Rename "IBus Preferences" to
    "Keyboard Input Methods"
  - debian/patches/06_locale_parser.patch: Cherry-picked from upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
/* functions prototype */
25
25
// static void         ibus_attribute_destroy      (IBusAttribute          *attr);
26
26
static gboolean     ibus_attribute_serialize    (IBusAttribute          *attr,
27
 
                                                 IBusMessageIter        *iter);
28
 
static gboolean     ibus_attribute_deserialize  (IBusAttribute          *attr,
29
 
                                                 IBusMessageIter        *iter);
 
27
                                                 GVariantBuilder        *builder);
 
28
static gint         ibus_attribute_deserialize  (IBusAttribute          *attr,
 
29
                                                 GVariant               *variant);
30
30
static gboolean     ibus_attribute_copy         (IBusAttribute          *dest,
31
31
                                                 const IBusAttribute    *src);
32
32
 
33
33
G_DEFINE_TYPE (IBusAttribute, ibus_attribute, IBUS_TYPE_SERIALIZABLE)
34
34
 
35
35
static void
36
 
ibus_attribute_class_init (IBusAttributeClass *klass)
 
36
ibus_attribute_class_init (IBusAttributeClass *class)
37
37
{
38
 
    IBusSerializableClass *serializable_class = IBUS_SERIALIZABLE_CLASS (klass);
39
 
 
40
 
    // object_class->destroy = (IBusObjectDestroyFunc) ibus_attribute_destroy;
 
38
    IBusSerializableClass *serializable_class = IBUS_SERIALIZABLE_CLASS (class);
41
39
 
42
40
    serializable_class->serialize   = (IBusSerializableSerializeFunc) ibus_attribute_serialize;
43
41
    serializable_class->deserialize = (IBusSerializableDeserializeFunc) ibus_attribute_deserialize;
44
42
    serializable_class->copy        = (IBusSerializableCopyFunc) ibus_attribute_copy;
45
 
 
46
 
    g_string_append (serializable_class->signature, "uuuu");
47
43
}
48
44
 
49
45
static void
51
47
{
52
48
}
53
49
 
54
 
// static void
55
 
// ibus_attribute_destroy (IBusAttribute *attr)
56
 
// {
57
 
//     IBUS_OBJECT (ibus_attribute_parent_class)->destroy ((IBusObject *)attr);
58
 
// }
59
 
 
60
50
static gboolean
61
51
ibus_attribute_serialize (IBusAttribute   *attr,
62
 
                          IBusMessageIter *iter)
 
52
                          GVariantBuilder *builder)
63
53
{
64
54
    gboolean retval;
65
55
 
66
 
    retval = IBUS_SERIALIZABLE_CLASS (ibus_attribute_parent_class)->serialize ((IBusSerializable *) attr, iter);
67
 
    g_return_val_if_fail (retval, FALSE);
68
 
 
69
 
    g_return_val_if_fail (IBUS_IS_ATTRIBUTE (attr), FALSE);
70
 
 
71
 
    retval = ibus_message_iter_append (iter, G_TYPE_UINT, &attr->type);
72
 
    g_return_val_if_fail (retval, FALSE);
73
 
 
74
 
    retval = ibus_message_iter_append (iter, G_TYPE_UINT, &attr->value);
75
 
    g_return_val_if_fail (retval, FALSE);
76
 
 
77
 
    retval = ibus_message_iter_append (iter, G_TYPE_UINT, &attr->start_index);
78
 
    g_return_val_if_fail (retval, FALSE);
79
 
 
80
 
    retval = ibus_message_iter_append (iter, G_TYPE_UINT, &attr->end_index);
81
 
    g_return_val_if_fail (retval, FALSE);
 
56
    retval = IBUS_SERIALIZABLE_CLASS (ibus_attribute_parent_class)->serialize ((IBusSerializable *) attr, builder);
 
57
    g_return_val_if_fail (retval, FALSE);
 
58
 
 
59
    g_variant_builder_add (builder, "u", attr->type);
 
60
    g_variant_builder_add (builder, "u", attr->value);
 
61
    g_variant_builder_add (builder, "u", attr->start_index);
 
62
    g_variant_builder_add (builder, "u", attr->end_index);
82
63
 
83
64
    return TRUE;
84
65
}
85
66
 
86
 
static gboolean
87
 
ibus_attribute_deserialize (IBusAttribute   *attr,
88
 
                            IBusMessageIter *iter)
 
67
static gint
 
68
ibus_attribute_deserialize (IBusAttribute *attr,
 
69
                            GVariant      *variant)
89
70
{
90
 
    gboolean retval;
91
 
 
92
 
    retval = IBUS_SERIALIZABLE_CLASS (ibus_attribute_parent_class)->deserialize ((IBusSerializable *) attr, iter);
93
 
    g_return_val_if_fail (retval, FALSE);
94
 
 
95
 
    g_return_val_if_fail (IBUS_IS_ATTRIBUTE (attr), FALSE);
96
 
 
97
 
    retval = ibus_message_iter_get (iter, G_TYPE_UINT, &attr->type);
98
 
    g_return_val_if_fail (retval, FALSE);
99
 
    ibus_message_iter_next (iter);
100
 
 
101
 
    retval = ibus_message_iter_get (iter, G_TYPE_UINT, &attr->value);
102
 
    g_return_val_if_fail (retval, FALSE);
103
 
    ibus_message_iter_next (iter);
104
 
 
105
 
    retval = ibus_message_iter_get (iter, G_TYPE_UINT, &attr->start_index);
106
 
    g_return_val_if_fail (retval, FALSE);
107
 
    ibus_message_iter_next (iter);
108
 
 
109
 
    retval = ibus_message_iter_get (iter, G_TYPE_UINT, &attr->end_index);
110
 
    g_return_val_if_fail (retval, FALSE);
111
 
    ibus_message_iter_next (iter);
112
 
 
113
 
    return TRUE;
 
71
    gint retval;
 
72
 
 
73
    retval = IBUS_SERIALIZABLE_CLASS (ibus_attribute_parent_class)->deserialize ((IBusSerializable *) attr, variant);
 
74
    g_return_val_if_fail (retval, 0);
 
75
 
 
76
    g_variant_get_child (variant, retval++, "u", &attr->type);
 
77
    g_variant_get_child (variant, retval++, "u", &attr->value);
 
78
    g_variant_get_child (variant, retval++, "u", &attr->start_index);
 
79
    g_variant_get_child (variant, retval++, "u", &attr->end_index);
 
80
 
 
81
    return retval;
114
82
 
115
83
}
116
84