]> git.sesse.net Git - vlc/blobdiff - include/vlc/libvlc_events.h
Remove enums from public APIs
[vlc] / include / vlc / libvlc_events.h
index 5a0984a5e8e00e37a18b1e2c6b9fb074727f2cd8..51c637e1fab7be2568e794379ff61c91ceb71075 100644 (file)
@@ -44,7 +44,11 @@ extern "C" {
  * @{
  */
 
-typedef enum libvlc_event_type_t {
+#ifdef __cplusplus
+enum libvlc_event_type_e {
+#else
+enum libvlc_event_type_t {
+#endif
     /* Append new event types at the end.
      * Do not remove, insert or re-order any entry. */
     libvlc_MediaMetaChanged,
@@ -88,8 +92,15 @@ typedef enum libvlc_event_type_t {
 
     libvlc_MediaPlayerTitleChanged,
     libvlc_MediaPlayerSnapshotTaken,
+    libvlc_MediaPlayerLengthChanged,
+
+    libvlc_VlmMediaAdded,
+    libvlc_VlmMediaRemoved,
+    libvlc_VlmMediaChanged,
+    libvlc_VlmMediaInstanceStarted,
+    libvlc_VlmMediaInstanceStopped,
     /* New event types HERE */
-} libvlc_event_type_t;
+};
 
 /**
  * An Event
@@ -98,16 +109,16 @@ typedef enum libvlc_event_type_t {
  * \param u Event dependent content
  */
 
-typedef struct libvlc_event_t
+struct libvlc_event_t
 {
-    libvlc_event_type_t type;
+    unsigned type;
     void * p_obj;
     union event_type_specific
     {
         /* media descriptor */
         struct
         {
-            libvlc_meta_t meta_type;
+            unsigned meta_type;
         } media_meta_changed;
         struct
         {
@@ -127,7 +138,7 @@ typedef struct libvlc_event_t
         } media_freed;
         struct
         {
-            libvlc_state_t new_state;
+            unsigned new_state;
         } media_state_changed;
 
         /* media instance */
@@ -145,11 +156,11 @@ typedef struct libvlc_event_t
         } media_player_title_changed;
         struct
         {
-            libvlc_time_t new_seekable;
+            uint64_t new_seekable; /* FIXME: that's a boolean! */
         } media_player_seekable_changed;
         struct
         {
-            libvlc_time_t new_pausable;
+            uint64_t new_pausable; /* FIXME: that's a BOOL!!! */
         } media_player_pausable_changed;
 
         /* media list */
@@ -196,38 +207,27 @@ typedef struct libvlc_event_t
             int index;
         } media_list_view_will_delete_item;
 
-        /* media discoverer */
+        /* snapshot taken */
         struct
         {
-            void * unused;
-        } media_media_discoverer_started;
+             char* psz_filename ;
+        } media_player_snapshot_taken ;
+
+        /* Length changed */
         struct
         {
-            void * unused;
-        } media_media_discoverer_ended;
+            libvlc_time_t   new_length;
+        } media_player_length_changed;
 
-        /* snapshot taken */
+        /* VLM media */
         struct
         {
-             char* psz_filename ;
-        } media_player_snapshot_taken ;
+            const char * psz_media_name;
+        } vlm_media_event;
 
     } u;
-} libvlc_event_t;
-
-/**
- * Event manager that belongs to a libvlc object, and from whom events can
- * be received.
- */
-
-typedef struct libvlc_event_manager_t libvlc_event_manager_t;
-
-/**
- * Callback function notification
- * \param p_event the event triggering the callback
- */
+};
 
-typedef void ( *libvlc_callback_t )( const libvlc_event_t *, void * );
 
 /**@} */