![]() |
![]() |
![]() |
IBus Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy |
struct IBusSerializable; struct IBusSerializableClass; gboolean (*IBusSerializableCopyFunc) (IBusSerializable *dest
,const IBusSerializable *src
); gint (*IBusSerializableDeserializeFunc) (IBusSerializable *serializable
,GVariant *variant
); gboolean (*IBusSerializableSerializeFunc) (IBusSerializable *serializable
,GVariantBuilder *builder
); IBusSerializable * ibus_serializable_copy (IBusSerializable *serializable
); IBusSerializable * ibus_serializable_deserialize (GVariant *variant
); #define ibus_serializable_get_attachment (o, k) GVariant * ibus_serializable_get_qattachment (IBusSerializable *serializable
,GQuark key
); IBusSerializable * ibus_serializable_new (void
); #define ibus_serializable_remove_attachment (o, k) void ibus_serializable_remove_qattachment (IBusSerializable *serializable
,GQuark key
); GVariant * ibus_serializable_serialize (IBusSerializable *serializable
); #define ibus_serializable_set_attachment (o, k, v) void ibus_serializable_set_qattachment (IBusSerializable *serializable
,GQuark key
,GVariant *value
);
GObject +----GInitiallyUnowned +----IBusObject +----IBusSerializable +----IBusHotkeyProfile +----IBusText +----IBusAttribute +----IBusAttrList +----IBusEngineDesc +----IBusLookupTable +----IBusComponent +----IBusProperty +----IBusPropList +----IBusObservedPath
An IBusSerializable is an IBus object which can be serialized, that is, to be to and from an IBusMessage.
This class is to be extended by other class that requires serialization. An extended class should overrides following methods:
serialize(object,iter)
: for serialize.
deserialize(object,iter)
: for deserialize.
copy(desc,src)
: for copy between IBusSerializable.
See IBusSerializableSerializeFunc()
, IBusSerializableDeserializeFunc()
, IBusSerializableCopyFunc()
for function prototype.
struct IBusSerializable;
All the fields in the IBusSerializable structure are private to the IBusSerializable and should never be accessed directly.
gboolean (*IBusSerializableCopyFunc) (IBusSerializable *dest
,const IBusSerializable *src
);
Prototype of copy function. Copy function copy from source IBusSerializable to the destination one. Returns a gboolean value which indicates whether the copying is success.
|
The destination IBusSerializable. |
|
A source IBusMessageIter. |
Returns : |
TRUE if succeed; FALSE otherwise. |
gint (*IBusSerializableDeserializeFunc) (IBusSerializable *serializable
,GVariant *variant
);
Prototype of deserialize function. Deserialize function convert an IBusMessageIter to IBusSerializable. Returns an integer value which indicates how many values in the variant(tuple) are consumed.
|
An IBusSerializable. |
|
A GVariant contains a tuple. |
Returns : |
The number of values in the variant(tuple) are consumed. |
gboolean (*IBusSerializableSerializeFunc) (IBusSerializable *serializable
,GVariantBuilder *builder
);
Prototype of serialize function.
Serialize function convert an IBusSerializable to IBusMessageIter.
Returns a gboolean value which indicates whether the conversion is success.
Return TRUE
if succeed.
|
An IBusSerializable. |
|
A GVariantBuilder. |
Returns : |
TRUE if succeed; FALSE otherwise. |
IBusSerializable * ibus_serializable_copy (IBusSerializable *serializable
);
Clone an IBusSerializable. The copy method should be implemented in extended class.
see_also
: IBusSerializableCopyFunc()
.
|
An IBusSerializable. |
Returns : |
A newly allocated clone object; or NULL if object is not serializable. |
IBusSerializable * ibus_serializable_deserialize (GVariant *variant
);
Deserialize a GVariant to an IBusSerializable/ The deserialize method should be implemented in extended class.
see_also
: IBusSerializableCopyFunc()
.
|
A GVariant. |
Returns : |
The deserialized IBusSerializable. |
#define ibus_serializable_get_attachment(o, k)
Get a value from attachment of an IBusSerializable.
This macro is an convenient wrapper of ibus_serializable_get_qattachment()
.
|
An IBusSerializable. |
|
String formatted key for indexing value. |
GVariant * ibus_serializable_get_qattachment (IBusSerializable *serializable
,GQuark key
);
Get a value from attachment of an IBusSerializable.
see_also
: ibus_serializable_set_attachment()
.
|
An IBusSerializable. |
|
String formatted key for indexing value. |
Returns : |
The attached value; or NULL if fail to retrieve the value. |
IBusSerializable * ibus_serializable_new (void
);
Creates a new instance of an IBusSerializable.
Returns : |
a new instance of IBusSerializable. |
#define ibus_serializable_remove_attachment(o, k)
Remove a value from attachment of an IBusSerializable.
This macro is an convenient wrapper of ibus_serializable_remove_qattachment()
.
|
An IBusSerializable. |
|
String formatted key for indexing value. |
void ibus_serializable_remove_qattachment (IBusSerializable *serializable
,GQuark key
);
Remove a value from attachment of an IBusSerializable.
see_also
: ibus_serializable_remove_attachment()
.
|
An IBusSerializable. |
|
String formatted key for indexing value. |
GVariant * ibus_serializable_serialize (IBusSerializable *serializable
);
Serialize an IBusSerializable to a GVariant. The serialize method should be implemented in extended class.
see_also
: IBusSerializableCopyFunc()
.
|
An IBusSerializable. |
Returns : |
A GVariant. |
#define ibus_serializable_set_attachment(o, k, v)
Attach a value to an IBusSerializable.
This macro is an convenient wrapper of ibus_serializable_set_qattachment()
.
|
An IBusSerializable. |
|
String formatted key for indexing value. |
|
Value to be attached. Should be also serializable. |
void ibus_serializable_set_qattachment (IBusSerializable *serializable
,GQuark key
,GVariant *value
);
Attach a value to an IBusSerializable. If the value is floating, the serializable will take the ownership.
see_also
: ibus_serializable_set_attachment()
.
|
An IBusSerializable. |
|
String formatted key for indexing value. |
|
Value to be attached or NULL to remove any prevoius value. |