Top |
#define | GI_IS_FIELD_INFO() |
gboolean | g_field_info_get_field () |
gboolean | g_field_info_set_field () |
GIFieldInfoFlags | g_field_info_get_flags () |
gint | g_field_info_get_offset () |
gint | g_field_info_get_size () |
GITypeInfo * | g_field_info_get_type () |
A GIFieldInfo struct represents a field of a struct, union, or object.
The GIFieldInfo is fetched by calling g_struct_info_get_field()
,
g_union_info_get_field()
or g_object_info_get_field()
.
A field has a size, type and a struct offset asssociated and a set of flags, which are currently GI_FIELD_IS_READABLE or GI_FIELD_IS_WRITABLE.
See also: GIStructInfo, GIUnionInfo, GIObjectInfo
gboolean g_field_info_get_field (GIFieldInfo *field_info
,gpointer mem
,GIArgument *value
);
Reads a field identified by a GIFieldInfo from a C structure or union. This only handles fields of simple C types. It will fail for a field of a composite type like a nested structure or union even if that is actually readable.
[skip]
field_info |
||
mem |
pointer to a block of memory representing a C structure or union |
|
value |
a GIArgument into which to store the value retrieved |
gboolean g_field_info_set_field (GIFieldInfo *field_info
,gpointer mem
,const GIArgument *value
);
Writes a field identified by a GIFieldInfo to a C structure or union. This only handles fields of simple C types. It will fail for a field of a composite type like a nested structure or union even if that is actually writable. Note also that that it will refuse to write fields where memory management would by required. A field with a type such as 'char *' must be set with a setter function.
[skip]
field_info |
||
mem |
pointer to a block of memory representing a C structure or union |
|
value |
a GIArgument holding the value to store |
GIFieldInfoFlags
g_field_info_get_flags (GIFieldInfo *info
);
Obtain the flags for this GIFieldInfo. See GIFieldInfoFlags for possible flag values.
gint
g_field_info_get_offset (GIFieldInfo *info
);
Obtain the offset in bytes of the field member, this is relative to the beginning of the struct or union.
gint
g_field_info_get_size (GIFieldInfo *info
);
Obtain the size in bits of the field member, this is how much space you need to allocate to store the field.
GITypeInfo *
g_field_info_get_type (GIFieldInfo *info
);
Obtain the type of a field as a GITypeInfo.