📄 gtypemodule.sgml
字号:
<!-- ##### SECTION Title ##### -->GTypeModule<!-- ##### SECTION Short_Description ##### -->Type Loading Modules<!-- ##### SECTION Long_Description ##### --><para>#GTypeModule provides a simple implementation of the #GTypePlugininterface. The model of #GTypeModule is a dynamically loaded modulewhich implements some number of types and interfaceimplementations. When the module is loaded, it registers its typesand interfaces using g_type_module_register_type() andg_type_module_add_interface(). As long as any instances of thesetypes and interface implementations are in use, the module is keptloaded. When the types and interfaces are gone, the module may beunloaded. If the types and interfaces become used again, the modulewill be reloaded.</para><para>Keeping track of whether the module should be loaded or not is done byusing a use count - it starts at zero, and whenever it is greater thanzero, the module is loaded. The use count is maintained internally bythe type system, but also can be explicitly controlled byg_type_module_use() and g_type_module_unuse(). Typically, when loadinga module for the first type, g_type_module_use() will be used to loadit so that it can initialize its types. At some later point, when themodule no longer needs to be loaded except for the typeimplementations it contains, g_type_module_unuse() is called.</para><para>#GTypeModule does not actually provide any implementation of moduleloading and unloading. To create a particular module type you mustderive from #GTypeModule and implement the load and unload functionsin #GTypeModuleClass.</para><!-- ##### SECTION See_Also ##### --><para><variablelist><varlistentry><term>#GTypePlugin</term><listitem><para>The abstract type loader interface.</para></listitem></varlistentry><varlistentry><term>#GModule</term><listitem><para>Portable mechanism for dynamically loaded modules.</para></listitem></varlistentry></variablelist></para><!-- ##### STRUCT GTypeModule ##### --><para></para>@parent_instance: @use_count: @type_infos: @interface_infos: @name: <!-- ##### FUNCTION g_type_module_use ##### --><para></para>@module: @Returns: <!-- ##### FUNCTION g_type_module_unuse ##### --><para></para>@module: <!-- ##### FUNCTION g_type_module_set_name ##### --><para></para>@module: @name: <!-- ##### FUNCTION g_type_module_register_type ##### --><para></para>@module: @parent_type: @type_name: @type_info: @flags: @Returns: <!-- ##### FUNCTION g_type_module_add_interface ##### --><para></para>@module: @instance_type: @interface_type: @interface_info:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -