Fix typo in http interface
[vlc.git] / include / vlc / libvlc_events.h
blob7d2705414976e4801c9103505d30ad1e89307c59
1 /*****************************************************************************
2 * libvlc_events.h: libvlc_events external API structure
3 *****************************************************************************
4 * Copyright (C) 1998-2010 the VideoLAN team
5 * $Id $
7 * Authors: Filippo Carone <littlejohn@videolan.org>
8 * Pierre d'Herbemont <pdherbemont@videolan.org>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 #ifndef LIBVLC_EVENTS_H
26 #define LIBVLC_EVENTS_H 1
28 /**
29 * \file
30 * This file defines libvlc_event external API
33 # ifdef __cplusplus
34 extern "C" {
35 # endif
37 /**
38 * \ingroup libvlc_event
39 * @{
42 /**
43 * Event types
45 enum libvlc_event_e {
46 /* Append new event types at the end of a category.
47 * Do not remove, insert or re-order any entry.
48 * Keep this in sync with lib/event.c:libvlc_event_type_name(). */
49 libvlc_MediaMetaChanged=0,
50 libvlc_MediaSubItemAdded,
51 libvlc_MediaDurationChanged,
52 libvlc_MediaParsedChanged,
53 libvlc_MediaFreed,
54 libvlc_MediaStateChanged,
56 libvlc_MediaPlayerMediaChanged=0x100,
57 libvlc_MediaPlayerNothingSpecial,
58 libvlc_MediaPlayerOpening,
59 libvlc_MediaPlayerBuffering,
60 libvlc_MediaPlayerPlaying,
61 libvlc_MediaPlayerPaused,
62 libvlc_MediaPlayerStopped,
63 libvlc_MediaPlayerForward,
64 libvlc_MediaPlayerBackward,
65 libvlc_MediaPlayerEndReached,
66 libvlc_MediaPlayerEncounteredError,
67 libvlc_MediaPlayerTimeChanged,
68 libvlc_MediaPlayerPositionChanged,
69 libvlc_MediaPlayerSeekableChanged,
70 libvlc_MediaPlayerPausableChanged,
71 libvlc_MediaPlayerTitleChanged,
72 libvlc_MediaPlayerSnapshotTaken,
73 libvlc_MediaPlayerLengthChanged,
74 libvlc_MediaPlayerVout,
76 libvlc_MediaListItemAdded=0x200,
77 libvlc_MediaListWillAddItem,
78 libvlc_MediaListItemDeleted,
79 libvlc_MediaListWillDeleteItem,
81 libvlc_MediaListViewItemAdded=0x300,
82 libvlc_MediaListViewWillAddItem,
83 libvlc_MediaListViewItemDeleted,
84 libvlc_MediaListViewWillDeleteItem,
86 libvlc_MediaListPlayerPlayed=0x400,
87 libvlc_MediaListPlayerNextItemSet,
88 libvlc_MediaListPlayerStopped,
90 libvlc_MediaDiscovererStarted=0x500,
91 libvlc_MediaDiscovererEnded,
93 libvlc_VlmMediaAdded=0x600,
94 libvlc_VlmMediaRemoved,
95 libvlc_VlmMediaChanged,
96 libvlc_VlmMediaInstanceStarted,
97 libvlc_VlmMediaInstanceStopped,
98 libvlc_VlmMediaInstanceStatusInit,
99 libvlc_VlmMediaInstanceStatusOpening,
100 libvlc_VlmMediaInstanceStatusPlaying,
101 libvlc_VlmMediaInstanceStatusPause,
102 libvlc_VlmMediaInstanceStatusEnd,
103 libvlc_VlmMediaInstanceStatusError
107 * A LibVLC event
109 typedef struct libvlc_event_t
111 int type; /**< Event type (see @ref libvlc_event_e) */
112 void *p_obj; /**< Object emitting the event */
113 union
115 /* media descriptor */
116 struct
118 libvlc_meta_t meta_type;
119 } media_meta_changed;
120 struct
122 libvlc_media_t * new_child;
123 } media_subitem_added;
124 struct
126 int64_t new_duration;
127 } media_duration_changed;
128 struct
130 int new_status;
131 } media_parsed_changed;
132 struct
134 libvlc_media_t * md;
135 } media_freed;
136 struct
138 libvlc_state_t new_state;
139 } media_state_changed;
141 /* media instance */
142 struct
144 float new_cache;
145 } media_player_buffering;
146 struct
148 float new_position;
149 } media_player_position_changed;
150 struct
152 libvlc_time_t new_time;
153 } media_player_time_changed;
154 struct
156 int new_title;
157 } media_player_title_changed;
158 struct
160 int new_seekable;
161 } media_player_seekable_changed;
162 struct
164 int new_pausable;
165 } media_player_pausable_changed;
166 struct
168 int new_count;
169 } media_player_vout;
171 /* media list */
172 struct
174 libvlc_media_t * item;
175 int index;
176 } media_list_item_added;
177 struct
179 libvlc_media_t * item;
180 int index;
181 } media_list_will_add_item;
182 struct
184 libvlc_media_t * item;
185 int index;
186 } media_list_item_deleted;
187 struct
189 libvlc_media_t * item;
190 int index;
191 } media_list_will_delete_item;
193 /* media list player */
194 struct
196 libvlc_media_t * item;
197 } media_list_player_next_item_set;
199 /* snapshot taken */
200 struct
202 char* psz_filename ;
203 } media_player_snapshot_taken ;
205 /* Length changed */
206 struct
208 libvlc_time_t new_length;
209 } media_player_length_changed;
211 /* VLM media */
212 struct
214 const char * psz_media_name;
215 const char * psz_instance_name;
216 } vlm_media_event;
218 /* Extra MediaPlayer */
219 struct
221 libvlc_media_t * new_media;
222 } media_player_media_changed;
223 } u; /**< Type-dependent event description */
224 } libvlc_event_t;
227 /**@} */
229 # ifdef __cplusplus
231 # endif
233 #endif /* _LIBVLC_EVENTS_H */