X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_vlm.h;h=0a2c3ab6851c73969e2bab8bcf0f1c75eac9d6f3;hb=3f615499491f5b6f225e4e856a123f9f7a1dce2f;hp=ed3bacac5ac23298c7e6c6e5327b46b363e89278;hpb=dd153084fa81d69ec94332d91b64f82590e96c8a;p=vlc diff --git a/include/vlc_vlm.h b/include/vlc_vlm.h index ed3bacac5a..0a2c3ab685 100644 --- a/include/vlc_vlm.h +++ b/include/vlc_vlm.h @@ -1,7 +1,7 @@ /***************************************************************************** - * vlc_vlm.h: VLM interface plugin + * vlc_vlm.h: VLM core structures ***************************************************************************** - * Copyright (C) 2000, 2001 VideoLAN + * Copyright (C) 2000, 2001 the VideoLAN team * $Id$ * * Authors: Simon Latapie @@ -19,12 +19,22 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ +#if !defined( __LIBVLC__ ) + #error You are not libvlc or one of its plugins. You cannot include this file +#endif + #ifndef _VLC_VLM_H #define _VLC_VLM_H 1 +#ifdef __cpluplus +extern "C" { +#endif + +#include + /* VLM specific - structures and functions */ enum { @@ -46,7 +56,7 @@ typedef struct } vlm_media_instance_t; -typedef struct +struct vlm_media_t { vlc_bool_t b_enabled; int i_type; @@ -76,10 +86,9 @@ typedef struct int i_instance; vlm_media_instance_t **instance; -} vlm_media_t; - +}; -typedef struct +struct vlm_schedule_t { /* names "schedule" is reserved */ char *psz_name; @@ -97,7 +106,7 @@ typedef struct i_repeat < 0 : endless repeat */ int i_repeat; -} vlm_schedule_t; +}; /* ok, here is the structure of a vlm_message: The parent node is ( name_of_the_command , NULL ), or @@ -133,7 +142,25 @@ struct vlm_t #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 *, char *, vlm_message_t ** ) ); -VLC_EXPORT( void, vlm_MessageDelete, ( vlm_message_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( vlm_message_t *, vlm_MessageNew, ( const char *, const char *, ... ) ); +VLC_EXPORT( vlm_message_t *, vlm_MessageAdd, ( vlm_message_t *, vlm_message_t * ) ); + +#ifdef __cpluplus +} +#endif #endif