| Top |  |  |  |  | 
| Serializable InterfaceSerializable Interface — Interface for serialize and deserialize special GObjects | 
| JsonNode * | json_serializable_serialize_property () | 
| gboolean | json_serializable_deserialize_property () | 
| GParamSpec * | json_serializable_find_property () | 
| void | json_serializable_get_property () | 
| GParamSpec ** | json_serializable_list_properties () | 
| void | json_serializable_set_property () | 
| JsonNode * | json_serializable_default_serialize_property () | 
| gboolean | json_serializable_default_deserialize_property () | 
JsonSerializable is an interface for GObject classes that
allows controlling how the class is going to be serialized
or deserialized by json_construct_gobject() and
json_serialize_gobject() respectively.
JsonNode * json_serializable_serialize_property (JsonSerializable *serializable,const gchar *property_name,const GValue *value,GParamSpec *pspec);
Asks a JsonSerializable implementation to serialize a GObject property into a JsonNode object.
| serializable | a JsonSerializable object | |
| property_name | the name of the property | |
| value | the value of the property | |
| pspec | a GParamSpec | 
gboolean json_serializable_deserialize_property (JsonSerializable *serializable,const gchar *property_name,GValue *value,GParamSpec *pspec,JsonNode *property_node);
Asks a JsonSerializable implementation to deserialize the
property contained inside property_node
 into value
.
The value
 can be:
an empty GValue initialized by G_VALUE_INIT, which will be automatically
initialized with the expected type of the property (since JSON-GLib 1.6)
a GValue initialized with the expected type of the property
| serializable | ||
| property_name | the name of the property | |
| value | a pointer to an uninitialized GValue. | [out] | 
| pspec | a GParamSpec | |
| property_node | a JsonNode containing the serialized property | 
GParamSpec * json_serializable_find_property (JsonSerializable *serializable,const char *name);
Calls the JsonSerializableIface.find_property() implementation on
the serializable
 instance. *
Since: 0.14
void json_serializable_get_property (JsonSerializable *serializable,GParamSpec *pspec,GValue *value);
Calls the JsonSerializableIface.get_property() implementation
on the serializable
 instance.
Since: 0.14
GParamSpec ** json_serializable_list_properties (JsonSerializable *serializable,guint *n_pspecs);
Calls the JsonSerializableIface.list_properties() implementation on
the serializable
 instance.
| serializable | ||
| n_pspecs | return location for the length of the array of GParamSpec returned by the function. | [out] | 
an array
of GParamSpec. Use g_free() to free the array when done. 
[array length=n_pspecs][transfer container]
Since: 0.14
void json_serializable_set_property (JsonSerializable *serializable,GParamSpec *pspec,const GValue *value);
Calls the JsonSerializableIface.set_property() implementation
on the serializable
 instance.
Since: 0.14
JsonNode * json_serializable_default_serialize_property (JsonSerializable *serializable,const gchar *property_name,const GValue *value,GParamSpec *pspec);
Calls the default implementation of the JsonSerializable
JsonSerializableIface.serialize_property() virtual function.
This function can be used inside a custom implementation
of the JsonSerializableIface.serialize_property() virtual
function in lieu of calling the default implementation
through g_type_default_interface_peek():
| 1 2 3 4 5 6 7 | JsonSerializable *iface; JsonNode *node; iface = g_type_default_interface_peek (JSON_TYPE_SERIALIZABLE); node = iface->serialize_property (serializable, property_name, value, pspec); | 
| serializable | a JsonSerializable object | |
| property_name | the name of the property | |
| value | the value of the property | |
| pspec | a GParamSpec | 
a JsonNode containing the
serialized property, or NULL if it should be omitted. 
[transfer full][nullable]
Since: 0.10
gboolean json_serializable_default_deserialize_property (JsonSerializable *serializable,const gchar *property_name,GValue *value,GParamSpec *pspec,JsonNode *property_node);
Calls the default implementation of the JsonSerializable
deserialize_property() virtual function
This function can be used inside a custom implementation
of the deserialize_property() virtual function in lieu of:
| 1 2 3 4 5 6 7 8 | JsonSerializable *iface; gboolean res; iface = g_type_default_interface_peek (JSON_TYPE_SERIALIZABLE); res = iface->deserialize_property (serializable, property_name, value, pspec, property_node); | 
| serializable | ||
| property_name | the name of the property | |
| value | a pointer to an uninitialized GValue | |
| pspec | a GParamSpec | |
| property_node | a JsonNode containing the serialized property | 
Since: 0.10
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 GObject instances
with properties storing complex data types. The json_serialize_gobject()
function will check if the passed GObject implements this interface,
so it can also be used to override the default property serialization
sequence.
| virtual function for serializing a GObject property into a JsonNode | ||
| virtual function for deserializing a JsonNode into a GObject property | ||
| virtual function for finding a property definition using its name | ||
| virtual function for listing the installed property definitions | ||
| virtual function for setting a property | ||
| virtual function for getting a property |