SECTION:dbus-gtype-specialized : Specialized GTypes : Unstable
Specialized gtypes are basically a way to allow the definition of recursive GTypes. It allows the definition of 'containers' which is basically a user defined structure capabale of holding other data and a set of functions defining how to access that structure. Containers come in 3 flavors: collections, maps and structs.
A collection is a container that holds an ordered set of items, all of which must be the same type.
A map is a container that holds a set of key/value pairs. The keys have one type, and the values another.
A struct is a container that holds a fixed number of members, each member having a predefined type.
A specialization is a GType detailing a particular container with particular types (a type specialization).
Functions are provided for constructing and manipulating specializations.
This documentation needs splitting into two pages, one for defining new containers and using existing containers. I expect most users to only do the latter. I also need to add some examples.
DBUS_G_SPECTYPE_COLLECTION | |
DBUS_G_SPECTYPE_MAP | |
DBUS_G_SPECTYPE_STRUCT |
gboolean | specialized_types_is_initialized | ( | void | ) | [static] |
void |
DBusGTypeSpecializedData * | lookup_specialization_data | ( | GType | type | ) | [static] |
GType type |
void | proxy_value_copy | ( | const GValue * | src_value, |
GValue * | dest_value | |||
) | [static] |
gpointer | proxy_value_peek_pointer | ( | const GValue * | value | ) | [static] |
const GValue * value |
gchar * | proxy_collect_value | ( | GValue * | value, |
guint | n_collect_values, | |||
GTypeCValue * | collect_values, | |||
guint | collect_flags | |||
) | [static] |
GValue * value | |
guint n_collect_values | |
GTypeCValue * collect_values | |
guint collect_flags |
gchar * | proxy_lcopy_value | ( | const GValue * | value, |
guint | n_collect_values, | |||
GTypeCValue * | collect_values, | |||
guint | collect_flags | |||
) | [static] |
const GValue * value | |
guint n_collect_values | |
GTypeCValue * collect_values | |
guint collect_flags |
char * | build_specialization_name | ( | const char * | prefix, |
guint | num_types, | |||
const GType * | types | |||
) | [static] |
void | register_container | ( | const char * | name, |
DBusGTypeSpecializedType | type, | |||
const DBusGTypeSpecializedVtable * | vtable | |||
) | [static] |
const char * name | |
DBusGTypeSpecializedType type | |
const DBusGTypeSpecializedVtable * vtable |