]> git.sesse.net Git - vlc/blobdiff - include/vlc/libvlc_structures.h
Use var_Inherit* instead of var_CreateGet*.
[vlc] / include / vlc / libvlc_structures.h
index 5c55859d51251d62804807ab64b14fad5a49edba..b76f2df6ab34b77fa1196f627aab68b6905bc17c 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * libvlc.h:  libvlc_* new external API structures
  *****************************************************************************
- * Copyright (C) 1998-2007 the VideoLAN team
+ * Copyright (C) 1998-2008 the VideoLAN team
  * $Id $
  *
  * Authors: Filippo Carone <littlejohn@videolan.org>
  * 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 <vlc/vlc.h>
+/**
+ * \file
+ * This file defines libvlc_* new external API structures
+ */
+
+#include <stdint.h>
 
 # ifdef __cplusplus
 extern "C" {
 # endif
 
-/** This structure is opaque. It represents a libvlc instance */
-typedef struct libvlc_instance_t libvlc_instance_t;
-
-/*****************************************************************************
- * Exceptions
- *****************************************************************************/
-
-/** defgroup libvlc_exception Exceptions
- * \ingroup libvlc
- * LibVLC Exceptions handling
- * @{
- */
-
-typedef struct libvlc_exception_t
-{
-    int b_raised;
-    int i_code;
-    char *psz_message;
-} libvlc_exception_t;
-
-/**@} */
-
-/*****************************************************************************
- * Media Descriptor
- *****************************************************************************/
-/** defgroup libvlc_media_descriptor MediaDescriptor
- * \ingroup libvlc
- * LibVLC Media Descriptor handling
- * @{
- */
-
-/* Meta Handling */
-/** defgroup libvlc_meta Meta
- * \ingroup libvlc_media_descriptor
- * LibVLC Media Meta
- * @{
- */
-
-typedef enum libvlc_meta_t {
-    libvlc_meta_Title,
-    libvlc_meta_Artist
-} libvlc_meta_t;
-
-/**@} */
-
-typedef struct libvlc_media_descriptor_t libvlc_media_descriptor_t;
-
-/**@} */
-
-/*****************************************************************************
- * Media Instance
- *****************************************************************************/
-/** defgroup libvlc_media_instance MediaInstance
- * \ingroup libvlc
- * LibVLC Media Instance handling
- * @{
- */
-
-typedef struct libvlc_media_instance_t libvlc_media_instance_t;
-
-/**@} */
-
-
-/*****************************************************************************
- * Playlist
- *****************************************************************************/
-/** defgroup libvlc_playlist Playlist
- * \ingroup libvlc
- * LibVLC Playlist handling
+/**
+ * \ingroup libvlc_core
  * @{
  */
 
-typedef struct libvlc_playlist_item_t
-{
-    int i_id;
-    char * psz_uri;
-    char * psz_name;
+/** This structure is opaque. It represents a libvlc instance */
+typedef struct libvlc_instance_t libvlc_instance_t;
 
-} 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 libvlc_rectangle_t
-{
-    int top, left;
-    int bottom, right;
-}
-libvlc_rectangle_t;
-
-/**@} */
-
-
-/*****************************************************************************
- * Message log handling
- *****************************************************************************/
-
-/** defgroup libvlc_log Log
- * \ingroup libvlc
- * LibVLC Message Logging
+ * \ingroup libvlc_log
  * @{
  */
 
@@ -171,54 +70,6 @@ typedef struct libvlc_log_message_t
 
 /**@} */
 
-/*****************************************************************************
- * Callbacks handling
- *****************************************************************************/
-
-/** defgroup libvlc_callbacks Callbacks
- * \ingroup libvlc
- * LibVLC Event Callbacks
- * @{
- */
-    
-/**
- * Available events:
- * - libvlc_VolumeChanged
- * - libvlc_InputPositionChanged
- */
-
-typedef enum libvlc_event_type_t {
-    libvlc_VolumeChanged,
-    libvlc_InputPositionChanged,
-} libvlc_event_type_t;
-
-typedef struct libvlc_event_t
-{
-    libvlc_event_type_t type;
-    union
-    {
-        struct
-        {
-            int new_volume;
-        } volume_changed;
-        struct
-        {
-            vlc_int64_t new_position;
-        } input_position_changed;
-    } u;
-} libvlc_event_t;
-
-/**
- * Callback function notification
- * \param p_instance the libvlc instance
- * \param p_event the event triggering the callback
- * \param p_user_data user provided data
- */
-
-typedef void ( *libvlc_callback_t )( struct libvlc_instance_t *, libvlc_event_t *, void * );
-
-/**@} */
-
 # ifdef __cplusplus
 }
 # endif