00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
00021 #error "Only <glib-object.h> can be included directly."
00022 #endif
00023
00024 #ifndef __G_TYPE_PLUGIN_H__
00025 #define __G_TYPE_PLUGIN_H__
00026
00027 #include <_ansi.h>
00028 #include <gobject/gtype.h>
00029
00030 G_BEGIN_DECLS
00031
00032
00033 #define G_TYPE_TYPE_PLUGIN (g_type_plugin_get_type ())
00034 #define G_TYPE_PLUGIN(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TYPE_PLUGIN, GTypePlugin))
00035 #define G_TYPE_PLUGIN_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), G_TYPE_TYPE_PLUGIN, GTypePluginClass))
00036 #define G_IS_TYPE_PLUGIN(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TYPE_PLUGIN))
00037 #define G_IS_TYPE_PLUGIN_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), G_TYPE_TYPE_PLUGIN))
00038 #define G_TYPE_PLUGIN_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TYPE_PLUGIN, GTypePluginClass))
00039
00040
00041
00042 typedef struct _GTypePluginClass GTypePluginClass;
00043 typedef void (*GTypePluginUse) (GTypePlugin *plugin);
00044 typedef void (*GTypePluginUnuse) (GTypePlugin *plugin);
00045 typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *plugin,
00046 GType g_type,
00047 GTypeInfo *info,
00048 GTypeValueTable *value_table);
00049 typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *plugin,
00050 GType instance_type,
00051 GType interface_type,
00052 GInterfaceInfo *info);
00053 struct _GTypePluginClass
00054 {
00055
00056 GTypeInterface base_iface;
00057
00058
00059 GTypePluginUse use_plugin;
00060 GTypePluginUnuse unuse_plugin;
00061 GTypePluginCompleteTypeInfo complete_type_info;
00062 GTypePluginCompleteInterfaceInfo complete_interface_info;
00063 };
00064
00065
00066
00067 GType g_type_plugin_get_type (void) G_GNUC_CONST;
00068 IMPORT_C void g_type_plugin_use (GTypePlugin *plugin);
00069 IMPORT_C void g_type_plugin_unuse (GTypePlugin *plugin);
00070 IMPORT_C void g_type_plugin_complete_type_info (GTypePlugin *plugin,
00071 GType g_type,
00072 GTypeInfo *info,
00073 GTypeValueTable *value_table);
00074 IMPORT_C void g_type_plugin_complete_interface_info (GTypePlugin *plugin,
00075 GType instance_type,
00076 GType interface_type,
00077 GInterfaceInfo *info);
00078
00079 G_END_DECLS
00080
00081 #endif