Top | ![]() |
![]() |
![]() |
![]() |
GObject * | (*PeasFactoryFunc) () |
void | peas_object_module_register_extension_factory () |
void | peas_object_module_register_extension_type () |
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()
.
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
Flags: Read / Write / Construct Only
Default value: FALSE
“module-name”
property “module-name” gchar *
The module to load for this object.
Flags: Read / Write / Construct Only
Default value: NULL
“path”
property “path” gchar *
The path to use when loading this module.
Flags: Read / Write / Construct Only
Default value: NULL
“resident”
property “resident” gboolean
Whether the module is resident.
Flags: Read / Write / Construct Only
Default value: FALSE