]> git.sesse.net Git - vlc/blobdiff - include/vlc_vlm.h
Start cleaning up VLM + fixed vlm_New() race condition.
[vlc] / include / vlc_vlm.h
index 0a2c3ab6851c73969e2bab8bcf0f1c75eac9d6f3..315af5eb01667442f15ee26f2dfd90537d9f5548 100644 (file)
@@ -36,77 +36,6 @@ extern "C" {
 #include <vlc_input.h>
 
 /* VLM specific - structures and functions */
-enum
-{
-    VOD_TYPE = 0,
-    BROADCAST_TYPE,
-    SCHEDULE_TYPE,
-};
-
-typedef struct
-{
-    /* instance name */
-    char *psz_name;
-
-    /* "playlist" index */
-    int i_index;
-
-    input_item_t   item;
-    input_thread_t *p_input;
-
-} vlm_media_instance_t;
-
-struct vlm_media_t
-{
-    vlc_bool_t b_enabled;
-    int      i_type;
-
-    /* name "media" is reserved */
-    char    *psz_name;
-    input_item_t item;
-
-    /* "playlist" */
-    int     i_input;
-    char    **input;
-
-    int     i_option;
-    char    **option;
-
-    char    *psz_output;
-
-    /* only for broadcast */
-    vlc_bool_t b_loop;
-
-    /* only for vod */
-    vod_media_t *vod_media;
-    char *psz_vod_output;
-    char *psz_mux;
-
-    /* actual input instances */
-    int                  i_instance;
-    vlm_media_instance_t **instance;
-
-};
-
-struct vlm_schedule_t
-{
-    /* names "schedule" is reserved */
-    char    *psz_name;
-    vlc_bool_t b_enabled;
-    /* list of commands to execute on date */
-    int i_command;
-    char **command;
-
-    /* the date of 1st execution */
-    mtime_t i_date;
-
-    /* if != 0 repeat schedule every (period) */
-    mtime_t i_period;
-    /* number of times you have to repeat
-       i_repeat < 0 : endless repeat     */
-    int i_repeat;
-
-};
 
 /* ok, here is the structure of a vlm_message:
    The parent node is ( name_of_the_command , NULL ), or
@@ -122,42 +51,14 @@ struct vlm_message_t
 };
 
 
-struct vlm_t
-{
-    VLC_COMMON_MEMBERS
-
-    vlc_mutex_t lock;
-
-    int            i_media;
-    vlm_media_t    **media;
-
-    int            i_vod;
-    vod_t          *vod;
-
-    int            i_schedule;
-    vlm_schedule_t **schedule;
-};
-
-
 #define vlm_New( a ) __vlm_New( VLC_OBJECT(a) )
 VLC_EXPORT( vlm_t *, __vlm_New, ( vlc_object_t * ) );
-VLC_EXPORT( void, vlm_Delete, ( vlm_t * ) );
-VLC_EXPORT( int, vlm_ExecuteCommand, ( vlm_t *, const char *, vlm_message_t ** ) );
-VLC_EXPORT( void, vlm_MessageDelete, ( vlm_message_t * ) );
-VLC_EXPORT( vlm_media_t *, vlm_MediaNew, ( vlm_t *, const char *, int ) );
-VLC_EXPORT( void, vlm_MediaDelete, ( vlm_t *, vlm_media_t *, const char * ) );
-VLC_EXPORT( int, vlm_MediaSetup, ( vlm_t *, vlm_media_t *, const char *, const char * ) );
-VLC_EXPORT( int, vlm_MediaControl, ( vlm_t *, vlm_media_t *, const char *, const char *, const char * ) );
-VLC_EXPORT( vlm_media_t* , vlm_MediaSearch,( vlm_t *, const char *) );
-VLC_EXPORT( vlm_schedule_t *, vlm_ScheduleNew, ( vlm_t *, const char * ) );
-VLC_EXPORT( void, vlm_ScheduleDelete, ( vlm_t *, vlm_schedule_t *, const char * ) );
-VLC_EXPORT( int, vlm_ScheduleSetup, ( vlm_schedule_t *, const char *, const char * ) );
-VLC_EXPORT( int, vlm_MediaVodControl, ( void *, vod_media_t *, const char *, int, va_list ) );
-VLC_EXPORT( int, vlm_Save, ( vlm_t *, const char * ) );
-VLC_EXPORT( int, vlm_Load, ( vlm_t *, const char * ) );
+VLC_EXPORT( void,      vlm_Delete, ( vlm_t * ) );
+VLC_EXPORT( int,       vlm_ExecuteCommand, ( vlm_t *, const char *, vlm_message_t ** ) );
 
 VLC_EXPORT( vlm_message_t *, vlm_MessageNew, ( const char *, const char *, ... ) );
 VLC_EXPORT( vlm_message_t *, vlm_MessageAdd, ( vlm_message_t *, vlm_message_t * ) );
+VLC_EXPORT( void,            vlm_MessageDelete, ( vlm_message_t * ) );
 
 #ifdef __cpluplus
 }