![]() |
![]() |
![]() |
![]() |
gboolean | local-linkage | Read / Write / Construct Only |
gchar * | module-name | Read / Write / Construct Only |
gchar * | path | Read / Write / Construct Only |
gboolean | resident | Read / Write / Construct Only |
gchar * | symbol | Read / Write / Construct Only |
PeasObjectModule is a subclass of GTypeModule which allows registration of extensions. It will be used by C extensions implementors to register extension implementations from within the peas_register_types module function.
Since libpeas 1.22, extension_type
can be an Abstract GType
and not just an Interface GType.
GObject * (*PeasFactoryFunc) (guint n_parameters
,GParameter *parameters
,gpointer user_data
);
A PeasFactoryFunc is a factory function which will instanciate a new
extension of a given type. g_object_newv()
is such a function.
It is used with peas_object_module_register_extension_factory()
.
n_parameters |
The number of paramteters. |
|
parameters |
The parameters. |
[array length=n_parameters] |
user_data |
Optional data to be passed to the function, or |
void peas_object_module_register_extension_factory (PeasObjectModule *module
,GType exten_type
,PeasFactoryFunc factory_func
,gpointer user_data
,GDestroyNotify destroy_func
);
Register an implementation for an extension type through a factory
function factory_func
which will instantiate the extension when
requested.
This method is primarily meant to be used by native bindings (like gtkmm),
creating native types which cannot be instantiated correctly using
g_object_new()
. For other uses, you will usually prefer relying on
peas_object_module_register_extension_type()
.
Since libpeas 1.22, exten_type
can be an Abstract GType
and not just an Interface GType.
module |
Your plugin's PeasObjectModule. |
|
exten_type |
The GType of the extension you implement. |
|
factory_func |
The PeasFactoryFunc that will create the |
|
user_data |
Data to pass to |
|
destroy_func |
A GDestroyNotify for |
void peas_object_module_register_extension_type (PeasObjectModule *module
,GType exten_type
,GType impl_type
);
Register impl_type
as an extension which implements extension_type
.
Since libpeas 1.22, exten_type
can be an Abstract GType
and not just an Interface GType.
module |
Your plugin's PeasObjectModule. |
|
exten_type |
The GType of the extension you implement. |
|
impl_type |
The GType of your implementation of |
struct PeasObjectModule;
The PeasObjectModule structure contains only private data and should only be accessed using the provided API.
struct PeasObjectModuleClass { GTypeModuleClass parent_class; };
The class structure for PeasObjectModule.
“local-linkage”
property“local-linkage” gboolean
This property indicates whether the module is loaded with local linkage, i.e. G_MODULE_BIND_LOCAL.
Since 1.14
Owner: PeasObjectModule
Flags: Read / Write / Construct Only
Default value: FALSE
“module-name”
property“module-name” gchar *
The module to load for this object.
Owner: PeasObjectModule
Flags: Read / Write / Construct Only
Default value: NULL
“path”
property“path” gchar *
The path to use when loading this module.
Owner: PeasObjectModule
Flags: Read / Write / Construct Only
Default value: NULL
“resident”
property“resident” gboolean
Whether the module is resident.
Owner: PeasObjectModule
Flags: Read / Write / Construct Only
Default value: FALSE
“symbol”
property“symbol” gchar *
The registration symbol to use for this module.
Owner: PeasObjectModule
Flags: Read / Write / Construct Only
Default value: "peas_register_types"