summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRich J Wareham <richwareham@users.sourceforge.net>2001-07-14 23:17:37 +0000
committerRich J Wareham <richwareham@users.sourceforge.net>2001-07-14 23:17:37 +0000
commit8a5824b6c5fb5fc8d072c2ef27f559fd04396381 (patch)
tree9cd13316f3d13da2fdfecea9649605791a389e30 /include
parent07c0477c310bffef3e08ebeb7756ff53b56e6c66 (diff)
downloadxine-lib-8a5824b6c5fb5fc8d072c2ef27f559fd04396381.tar.gz
xine-lib-8a5824b6c5fb5fc8d072c2ef27f559fd04396381.tar.bz2
Added first bit of event mechanism for mouse/keyboard stuff.
CVS patchset: 281 CVS date: 2001/07/14 23:17:37
Diffstat (limited to 'include')
-rw-r--r--include/xine.h.tmpl.in40
1 files changed, 39 insertions, 1 deletions
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 <unistd.h>
#include <sys/types.h>
+#include <xine/events.h>
+
/**
* \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