39
39
/* --- typedefs & structures --- */
40
40
typedef struct _GTypePluginClass GTypePluginClass;
43
* @plugin: the #GTypePlugin whose use count should be increased
45
* The type of the @use_plugin function of #GTypePluginClass, which gets called
46
* to increase the use count of @plugin.
41
48
typedef void (*GTypePluginUse) (GTypePlugin *plugin);
51
* @plugin: the #GTypePlugin whose use count should be decreased
53
* The type of the @unuse_plugin function of #GTypePluginClass.
42
55
typedef void (*GTypePluginUnuse) (GTypePlugin *plugin);
57
* GTypePluginCompleteTypeInfo:
58
* @plugin: the #GTypePlugin
59
* @g_type: the #GType whose info is completed
60
* @info: the #GTypeInfo struct to fill in
61
* @value_table: the #GTypeValueTable to fill in
63
* The type of the @complete_type_info function of #GTypePluginClass.
43
65
typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *plugin,
46
68
GTypeValueTable *value_table);
70
* GTypePluginCompleteInterfaceInfo:
71
* @plugin: the #GTypePlugin
72
* @instance_type: the #GType of an instantiable type to which the interface
74
* @interface_type: the #GType of the interface whose info is completed
75
* @info: the #GInterfaceInfo to fill in
77
* The type of the @complete_interface_info function of #GTypePluginClass.
47
79
typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *plugin,
48
80
GType instance_type,
49
81
GType interface_type,
50
82
GInterfaceInfo *info);
86
* The <structname>GTypePlugin</structname> typedef is used as a placeholder
87
* for objects that implement the <structname>GTypePlugin</structname>
92
* @use_plugin: Increases the use count of the plugin.
93
* @unuse_plugin: Decreases the use count of the plugin.
94
* @complete_type_info: Fills in the #GTypeInfo and
95
* #GTypeValueTable structs for the type. The structs are initialized
96
* with <literal>memset(s, 0, sizeof (s))</literal> before calling
98
* @complete_interface_info: Fills in missing parts of the #GInterfaceInfo
99
* for the interface. The structs is initialized with
100
* <literal>memset(s, 0, sizeof (s))</literal> before calling
103
* The #GTypePlugin interface is used by the type system in order to handle
104
* the lifecycle of dynamically loaded types.
51
106
struct _GTypePluginClass