| Top |
|
|
(*EEventItemsFunc) () |
|
|
(*EEventFunc) () |
|
|
(*EEventFactoryFunc) () |
|
|
e_event_construct () |
|
|
e_event_add_items () |
|
|
e_event_remove_items () |
|
|
e_event_emit () |
|
|
e_event_target_new () |
|
|
e_event_target_free () |
|
|
(*EEventHookFunc) () |
|
|
e_event_hook_class_add_target_map () |
| enum | e_event_t |
| struct | EEventItem |
| struct | EEventTarget |
| typedef | EEventHookTargetMap |
| typedef | EEventHookTargetMask |
| EEventFactory |
EEvent * e_event_construct (,EEvent *eventconst);gchar *id
Construct the base event instance with standard parameters.
gpointer e_event_add_items (,EEvent *event,GSList *itemsEEventItemsFunc freefunc,);gpointer data
Adds items
to the list of events listened to on the event manager event
.
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.
void e_event_emit (,EEvent *eventconst,gchar *idEEventTarget *target);
Emit an event. target
will automatically be freed once its
emission is complete.
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.
void e_event_target_free (,EEvent *event);gpointer target
Free a target. This invokes the virtual free method on the EEventClass.
void e_event_hook_class_add_target_map (,EEventHookClass *hook_classconst 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.
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 {
EEvent *event; /* used for virtual methods */
guint32 type; /* targe type, for implementors */
guint32 mask; /* depends on type, enable mask */
/* implementation fields follow */
};