From 8a5824b6c5fb5fc8d072c2ef27f559fd04396381 Mon Sep 17 00:00:00 2001 From: Rich J Wareham Date: Sat, 14 Jul 2001 23:17:37 +0000 Subject: Added first bit of event mechanism for mouse/keyboard stuff. CVS patchset: 281 CVS date: 2001/07/14 23:17:37 --- include/xine.h.tmpl.in | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/xine.h.tmpl.in b/include/xine.h.tmpl.in index cac664dfd..797845354 100644 --- a/include/xine.h.tmpl.in +++ b/include/xine.h.tmpl.in @@ -29,7 +29,7 @@ \endverbatim */ /* - * $Id: xine.h.tmpl.in,v 1.28 2001/07/10 21:07:55 f1rmb Exp $ + * $Id: xine.h.tmpl.in,v 1.29 2001/07/14 23:17:37 richwareham Exp $ * */ @@ -40,6 +40,8 @@ #include #include +#include + /** * \defgroup versgroup Version constants @@ -654,4 +656,40 @@ ao_functions_t *xine_load_audio_output_plugin(config_values_t *config, char *id) /** @} end of xine_api */ +/** + * @defgroup eventgroup Sending events + * Event dispatcher mechanism + * @{ + */ + +/** + * Event listener callback. + */ +typedef void (*event_listener_t) (xine_t *xine, event_t *event, void *data); + +/** + * \fn xine_register_event_listener(event_listener_t *listener) + * \brief registers an event listener callback. + * \return 0 if the listener was registerd, non-zero if it could not. + */ + +int xine_register_event_listener(xine_t *this, event_listener_t *listener); + +/** + * \fn xine_remove_event_listener(event_listener_t *listener) + * \brief Attempts to remove a registered event listener. + * \return 0 if the listener was removes, non-zero if it wasn't (e.g. not found). + */ + +int xine_remove_event_listener(xine_t *this, event_listener_t *listener); + +/** + * \fn xine_send_event(event_t *event) + * \brief sends an event to all listeners. + */ + +void xine_send_event(xine_t *this, event_t *event, void *data); + +/** @} end of eventgroup */ + #endif -- cgit v1.2.3