Evolution Utilities Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy |
Synopsis
struct EEvent; enum e_event_t; struct EEventItem; EEventFactory; struct EEventTarget; void (*EEventItemsFunc) (EEvent *ee
,GSList *items
,gpointer data
); void (*EEventFunc) (EEvent *ee
,EEventItem *item
,gpointer data
); void (*EEventFactoryFunc) (EEvent *ee
,gpointer Param2
); EEvent * e_event_construct (EEvent *event
,const gchar *id
); gpointer e_event_add_items (EEvent *event
,GSList *items
,EEventItemsFunc freefunc
,gpointer data
); void e_event_remove_items (EEvent *event
,gpointer handle
); void e_event_emit (EEvent *event
,const gchar *id
,EEventTarget *target
); gpointer e_event_target_new (EEvent *event
,gint type
,gsize size
); void e_event_target_free (EEvent *event
,gpointer target
); struct EEventHook; typedef EEventHookTargetMap; typedef EEventHookTargetMask; void (*EEventHookFunc) (EPlugin *plugin
,EEventTarget *target
); void e_event_hook_class_add_target_map (EEventHookClass *hook_class
,const EEventHookTargetMap *map
);
Details
struct EEventItem
struct EEventItem { enum _e_event_t type; gint priority; /* priority of event */ const gchar *id; /* event id */ gint target_type; EEventFunc handle; gpointer user_data; guint32 enable; /* enable mask */ };
struct EEventTarget
struct EEventTarget { EEvent *event; /* used for virtual methods */ guint32 type; /* targe type, for implementors */ guint32 mask; /* depends on type, enable mask */ /* implementation fields follow */ };
e_event_construct ()
EEvent * e_event_construct (EEvent *event
,const gchar *id
);
Construct the base event instance with standard parameters.
|
An instantiated but uninitialised EEvent. |
|
Event manager id. |
Returns : |
the event
|
e_event_add_items ()
gpointer e_event_add_items (EEvent *event
,GSList *items
,EEventItemsFunc freefunc
,gpointer data
);
Adds items
to the list of events listened to on the event manager event
.
|
An initialised EEvent structure. |
|
A list of EEventItems event listeners to register on this event manager. |
|
A function called when the items list is no longer needed. |
|
callback data for freefunc and for item event handlers. |
Returns : |
An opaque key which can later be passed to remove_items. |
e_event_remove_items ()
void e_event_remove_items (EEvent *event
,gpointer handle
);
Remove items previously added. They MUST have been previously added, and may only be removed once.
|
an EEvent |
|
an opaque key returned by e_event_add_items()
|
e_event_emit ()
void e_event_emit (EEvent *event
,const gchar *id
,EEventTarget *target
);
Emit an event. target
will automatically be freed once its
emission is complete.
|
Event name. This will be compared against EEventItem.id. |
|
The target describing the event context. This will be implementation defined. |
e_event_target_new ()
gpointer e_event_target_new (EEvent *event
,gint type
,gsize size
);
Allocate a new event target suitable for this class. It is up to the implementation to define the available target types and their structure.
|
An initialised EEvent instance. |
|
type, up to implementor |
|
The size of memory to allocate. This must be >= sizeof(EEventTarget). |
e_event_target_free ()
void e_event_target_free (EEvent *event
,gpointer target
);
Free a target. This invokes the virtual free method on the EEventClass.
|
An initialised EEvent instance on which this target was allocated. |
|
The target to free. |
e_event_hook_class_add_target_map ()
void e_event_hook_class_add_target_map (EEventHookClass *hook_class
,const EEventHookTargetMap *map
);
Add a target map to a concrete derived class of EEvent. The target map enumerates a single target type and th eenable mask bit names, so that the type can be loaded automatically by the base EEvent class.
|
The derived EEventHook class. |
|
A map used to describe a single EEventTarget type for this class. |