Interface
JsonSerializable
Description [src]
interface Json.Serializable : GObject.ObjectJsonSerializable is an interface for controlling the serialization
and deserialization of GObject classes.
Implementing this interface allows controlling how the class is going
to be serialized or deserialized by json_construct_gobject() and
json_serialize_gobject(), respectively.
Prerequisite
In order to implement Serializable, your type must inherit fromGObject.
Instance methods
json_serializable_default_deserialize_property
Calls the default implementation of the Json.SerializableIface.deserialize_property
virtual function.
since: 0.10
json_serializable_default_serialize_property
Calls the default implementation of the Json.SerializableIface.serialize_property
virtual function.
since: 0.10
json_serializable_deserialize_property
Asks a JsonSerializable implementation to deserialize the
property contained inside property_node and place its value into value.
json_serializable_find_property
Calls the Json.SerializableIface.find_property implementation on the JsonSerializable instance, which will return the property
description for the given name.
since: 0.14
json_serializable_get_property
Calls the Json.SerializableIface.get_property implementation
on the JsonSerializable instance, which will get the value of
the given property.
since: 0.14
json_serializable_list_properties
Calls the Json.SerializableIface.list_properties implementation on the JsonSerializable instance, which will return the list of serializable properties.
since: 0.14
json_serializable_serialize_property
Asks a JsonSerializable implementation to serialize an object
property into a JSON node.
json_serializable_set_property
Calls the Json.SerializableIface.set_property implementation
on the JsonSerializable instance, which will set the property
with the given value.
since: 0.14
Interface structure
struct JsonSerializableIface {
  JsonNode* (* serialize_property) (
    JsonSerializable* serializable,
    const gchar* property_name,
    const GValue* value,
    GParamSpec* pspec
  );
  gboolean (* deserialize_property) (
    JsonSerializable* serializable,
    const gchar* property_name,
    GValue* value,
    GParamSpec* pspec,
    JsonNode* property_node
  );
  GParamSpec* (* find_property) (
    JsonSerializable* serializable,
    const char* name
  );
  GParamSpec** (* list_properties) (
    JsonSerializable* serializable,
    guint* n_pspecs
  );
  void (* set_property) (
    JsonSerializable* serializable,
    GParamSpec* pspec,
    const GValue* value
  );
  void (* get_property) (
    JsonSerializable* serializable,
    GParamSpec* pspec,
    GValue* value
  );
  
}Interface that allows serializing and deserializing object instances with properties storing complex data types.
The json_gobject_from_data() and json_gobject_to_data()
functions will check if the passed object type implements this interface,
so it can also be used to override the default property serialization sequence.
Interface members
| serialize_property |  | 
| Virtual function for serializing an object property into JSON. | |
| deserialize_property |  | 
| Virtual function for deserializing JSON into an object property. | |
| find_property |  | 
| Virtual function for finding a property definition using its name. | |
| list_properties |  | 
| Virtual function for listing the installed property definitions. | |
| set_property |  | 
| Virtual function for setting a property. | |
| get_property |  | 
| Virtual function for getting a property. | 
Virtual methods
Json.Serializable.deserialize_property
Asks a JsonSerializable implementation to deserialize the
property contained inside property_node and place its value into value.
Json.Serializable.find_property
Calls the Json.SerializableIface.find_property implementation on the JsonSerializable instance, which will return the property
description for the given name.
since: 0.14
Json.Serializable.get_property
Calls the Json.SerializableIface.get_property implementation
on the JsonSerializable instance, which will get the value of
the given property.
since: 0.14
Json.Serializable.serialize_property
Asks a JsonSerializable implementation to serialize an object
property into a JSON node.
Json.Serializable.set_property
Calls the Json.SerializableIface.set_property implementation
on the JsonSerializable instance, which will set the property
with the given value.
since: 0.14