00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _DVBSTREAMER_EVENTS_H
00025 #define _DVBSTREAMER_EVENTS_H
00026
00027 #include "types.h"
00028
00059 typedef struct EventSource_s *EventSource_t;
00060
00065 typedef struct Event_s *Event_t;
00066
00071 typedef char *(*EventToString_t)(Event_t event, void *payload);
00072
00079 typedef void (*EventListener_t)(void *arg, Event_t event, void *payload);
00080
00086 int EventsInit(void);
00087
00093 int EventsDeInit(void);
00094
00100 void EventsRegisterListener(EventListener_t listener, void *arg);
00101
00107 void EventsUnregisterListener(EventListener_t listener, void *arg);
00108
00114 EventSource_t EventsRegisterSource(char *name);
00115
00121 void EventsUnregisterSource(EventSource_t source);
00122
00128 EventSource_t EventsFindSource(char *name);
00129
00136 void EventsRegisterSourceListener(EventSource_t source, EventListener_t listener, void *arg);
00143 void EventsUnregisterSourceListener(EventSource_t source, EventListener_t listener, void *arg);
00144
00155 Event_t EventsRegisterEvent(EventSource_t source, char *name, EventToString_t toString);
00156
00161 void EventsUnregisterEvent(Event_t event);
00162
00168 Event_t EventsFindEvent(char *name);
00169
00181 void EventsFireEventListeners(Event_t event, void *payload);
00182
00189 void EventsRegisterEventListener(Event_t event, EventListener_t listener, void *arg);
00190
00197 void EventsUnregisterEventListener(Event_t event, EventListener_t listener, void *arg);
00198
00210 char *EventsEventToString(Event_t event, void *payload);
00211
00213 #endif
00214
00215
00216