PeasObjectModule

PeasObjectModule — Type module which allows extension registration.

Synopsis

                    PeasObjectModule;
                    PeasObjectModuleClass;
GObject *           (*PeasFactoryFunc)                  (guint n_parameters,
                                                         GParameter *parameters,
                                                         gpointer user_data);
void                peas_object_module_register_extension_factory
                                                        (PeasObjectModule *module,
                                                         GType iface_type,
                                                         PeasFactoryFunc factory_func,
                                                         gpointer user_data,
                                                         GDestroyNotify destroy_func);
void                peas_object_module_register_extension_type
                                                        (PeasObjectModule *module,
                                                         GType iface_type,
                                                         GType extension_type);

Object Hierarchy

  GObject
   +----GTypeModule
         +----PeasObjectModule

Implemented Interfaces

PeasObjectModule implements GTypePlugin.

Properties

  "module-name"              gchar*                : Read / Write / Construct Only
  "path"                     gchar*                : Read / Write / Construct Only
  "resident"                 gboolean              : Read / Write / Construct Only

Description

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.

Details

PeasObjectModule

typedef struct _PeasObjectModule PeasObjectModule;

PeasObjectModuleClass

typedef struct {
  GTypeModuleClass parent_class;
} PeasObjectModuleClass;

PeasFactoryFunc ()

GObject *           (*PeasFactoryFunc)                  (guint n_parameters,
                                                         GParameter *parameters,
                                                         gpointer user_data);

peas_object_module_register_extension_factory ()

void                peas_object_module_register_extension_factory
                                                        (PeasObjectModule *module,
                                                         GType iface_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), creatint 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().

module :

Your plugin's PeasObjectModule.

iface_type :

The GType of the extension interface you implement.

factory_func :

The PeasFactoryFunc that will create the iface_type instance when requested.

user_data :

Data to pass to func calls.

destroy_func :

A GDestroyNotify for user_data.

peas_object_module_register_extension_type ()

void                peas_object_module_register_extension_type
                                                        (PeasObjectModule *module,
                                                         GType iface_type,
                                                         GType extension_type);

Register an extension type which implements the extension interface iface_type.

module :

Your plugin's PeasObjectModule.

iface_type :

The GType of the extension interface you implement.

extension_type :

The GType of your implementation of iface_type.

Property Details

The "module-name" property

  "module-name"              gchar*                : Read / Write / Construct Only

The module to load for this object.

Default value: NULL


The "path" property

  "path"                     gchar*                : Read / Write / Construct Only

The path to use when loading this module.

Default value: NULL


The "resident" property

  "resident"                 gboolean              : Read / Write / Construct Only

Whether the module is resident.

Default value: FALSE