X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc%2Flibvlc_structures.h;h=0df225caa42b6f981dfd6f460b94516addcf620a;hb=36ab287e77e9df059f261ed1cfb13fc4674182ec;hp=eeafdb4adbbd7f2cfbfeb3516d9101bbb09ecfc0;hpb=3b41ca7d6ed5cb22cfb9695d4d3eacdd20044280;p=vlc diff --git a/include/vlc/libvlc_structures.h b/include/vlc/libvlc_structures.h index eeafdb4adb..0df225caa4 100644 --- a/include/vlc/libvlc_structures.h +++ b/include/vlc/libvlc_structures.h @@ -1,109 +1,54 @@ /***************************************************************************** * libvlc.h: libvlc_* new external API structures ***************************************************************************** - * Copyright (C) 1998-2007 the VideoLAN team + * Copyright (C) 1998-2008 VLC authors and VideoLAN * $Id $ * * Authors: Filippo Carone * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. * - * 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#ifndef _LIBVLC_STRUCTURES_H -#define _LIBVLC_STRUCTURES_H 1 +#ifndef LIBVLC_STRUCTURES_H +#define LIBVLC_STRUCTURES_H 1 -#include +/** + * \file + * This file defines libvlc_* new external API structures + */ + +#include # ifdef __cplusplus extern "C" { # endif -/** This structure is opaque. It represents a libvlc instance */ -typedef struct libvlc_instance_t libvlc_instance_t; -/** defgroup libvlc_exception Exceptions - * \ingroup libvlc - * LibVLC Exceptions handling - * @{ - */ - -typedef struct -{ - int b_raised; - int i_code; - char *psz_message; -} libvlc_exception_t; - -/**@} */ - -/***************************************************************************** - * Playlist - *****************************************************************************/ -/** defgroup libvlc_playlist Playlist - * \ingroup libvlc - * LibVLC Playlist handling +/** + * \ingroup libvlc_core * @{ */ +/** This structure is opaque. It represents a libvlc instance */ +typedef struct libvlc_instance_t libvlc_instance_t; -typedef struct { - int i_id; - char * psz_uri; - char * psz_name; - -} libvlc_playlist_item_t; +typedef int64_t libvlc_time_t; /**@} */ - -/***************************************************************************** - * Video - *****************************************************************************/ -/** defgroup libvlc_video Video - * \ingroup libvlc - * LibVLC Video handling - * @{ - */ - -/** -* Downcast to this general type as placeholder for a platform specific one, such as: -* Drawable on X11, -* CGrafPort on MacOSX, -* HWND on win32 -*/ -typedef int libvlc_drawable_t; - /** -* Rectangle type for video geometry -*/ -typedef struct -{ - int top, left; - int bottom, right; -} -libvlc_rectangle_t; - -/**@} */ - - -/***************************************************************************** - * Message log handling - *****************************************************************************/ - -/** defgroup libvlc_log Log - * \ingroup libvlc - * LibVLC Message Logging + * \ingroup libvlc_log * @{ */ @@ -115,7 +60,6 @@ typedef struct libvlc_log_iterator_t libvlc_log_iterator_t; typedef struct libvlc_log_message_t { - unsigned sizeof_msg; /* sizeof() of message structure, must be filled in by user */ int i_severity; /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */ const char *psz_type; /* module type */ const char *psz_name; /* module name */ @@ -125,36 +69,6 @@ typedef struct libvlc_log_message_t /**@} */ -/***************************************************************************** - * Callbacks handling - *****************************************************************************/ - -/** defgroup libvlc_callbacks Callbacks - * \ingroup libvlc - * LibVLC Event Callbacks - * @{ - */ - -/** - * Available events: - * - VOLUME_CHANGED - * - INPUT_POSITION_CHANGED - */ -typedef enum { - VOLUME_CHANGED, - INPUT_POSITION_CHANGED, -} libvlc_event_type_t; - -typedef struct -{ - libvlc_event_type_t type; - char reserved[8]; /* For future use */ -} libvlc_event_t; - -typedef void ( *libvlc_callback_t )( struct libvlc_instance_t *, libvlc_event_t * ); - -/**@} */ - # ifdef __cplusplus } # endif