Update of the convert.py script which generates now fully automatically the LibVLC...
[vlc/bindings/jvlc.git] / extras / LibVlc.java_body
1 /*****************************************************************************
2  * VLC Java Bindings JNA Glue
3  *****************************************************************************
4  * Copyright (C) 1998-$year the VideoLAN team
5  *
6  * Authors: Filippo Carone <filippo@carone.org>
7  *          Matthias Braeger <mbraeger@cern.ch>
8  *          VLC bindings generator
9  *
10  *
11  * $Id $
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
26  *****************************************************************************/
27
28 package org.videolan.jvlc.internal;
29
30 import com.sun.jna.Callback;
31 import com.sun.jna.Library;
32 import com.sun.jna.Native;
33 import com.sun.jna.NativeLong;
34 import com.sun.jna.Platform;
35 import com.sun.jna.Pointer;
36 import com.sun.jna.PointerType;
37 import com.sun.jna.Structure;
38 import com.sun.jna.Union;
39
40 /**
41  * This is the libvlc wrapper class which allows to access all native libvlc
42  * functions.
43  * <br><br>
44  * Please note that this class was auto-generated with the VLC bindings
45  * generator which can be found under <code>JVLC_HOME/extras/</code>. In case
46  * you miss some functionalities you should maybe re-run that script, but this
47  * is without any warranty!
48  */
49 public interface LibVlc extends Library
50 {
51
52     LibVlc INSTANCE = (LibVlc) Native.loadLibrary(Platform.isWindows() ? "libvlc" : "vlc", LibVlc.class);
53
54     LibVlc SYNC_INSTANCE = (LibVlc) Native.synchronizedLibrary(INSTANCE);
55
56     public static class libvlc_exception_t extends Structure
57     {
58
59         public int b_raised;
60     }
61
62     public static interface LibVlcCallback extends Callback
63     {
64
65         void callback(libvlc_event_t libvlc_event, Pointer userData);
66     }
67
68     public static class libvlc_log_message_t extends Structure
69     {
70
71         public int sizeof_msg; /* sizeof() of message structure, must be filled in by user */
72
73         public int i_severity; /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */
74
75         public String psz_type; /* module type */
76
77         public String psz_name; /* module name */
78
79         public String psz_header; /* optional header */
80
81         public String psz_message; /* message */
82     }
83
84     public static class libvlc_event_t extends Structure
85     {
86
87         public int type;
88
89         public Pointer p_obj;
90
91         public event_type_specific event_type_specific;
92
93     }
94
95     public class media_meta_changed extends Structure
96     {
97
98         // Enum !
99         public Pointer meta_type;
100     }
101
102     public class media_subitem_added extends Structure
103     {
104
105         public LibVlcMedia new_child;
106     }
107
108     public class media_duration_changed extends Structure
109     {
110
111         public NativeLong new_duration;
112     }
113
114     public class media_preparsed_changed extends Structure
115     {
116
117         public int new_status;
118     }
119
120     public class media_freed extends Structure
121     {
122
123         public LibVlcMedia md;
124     }
125
126     public class media_state_changed extends Structure
127     {
128
129         // @todo: check this one
130         public int new_state;
131     }
132
133     /* media instance */
134
135     public class media_player_position_changed extends Structure
136     {
137
138         public float new_position;
139     }
140
141     public class media_player_time_changed extends Structure
142     {
143
144         // @todo: check this one
145         public long new_time;
146     }
147
148     public class media_player_title_changed extends Structure
149     {
150
151         public int new_title;
152     }
153
154     public class media_player_seekable_changed extends Structure
155     {
156
157         public NativeLong new_seekable;
158     }
159
160     public class media_player_pausable_changed extends Structure
161     {
162
163         public NativeLong new_pausable;
164     }
165
166     /* media list */
167     public class media_list_item_added extends Structure
168     {
169
170         public LibVlcMedia item;
171
172         public int index;
173     }
174
175     public class media_list_will_add_item extends Structure
176     {
177
178         public LibVlcMedia item;
179
180         public int index;
181     }
182
183     public class media_list_item_deleted extends Structure
184     {
185
186         public LibVlcMedia item;
187
188         public int index;
189     }
190
191     public class media_list_will_delete_item extends Structure
192     {
193
194         public LibVlcMedia item;
195
196         public int index;
197     }
198
199     /* media list view */
200     public class media_list_view_item_added extends Structure
201     {
202
203         public LibVlcMedia item;
204
205         public int index;
206     }
207
208     public class media_list_view_will_add_item extends Structure
209     {
210
211         public LibVlcMedia item;
212
213         public int index;
214     }
215
216     public class media_list_view_item_deleted extends Structure
217     {
218
219         public LibVlcMedia item;
220
221         public int index;
222     }
223
224     public class media_list_view_will_delete_item extends Structure
225     {
226
227         public LibVlcMedia item;
228
229         public int index;
230     }
231
232     public class media_list_player_next_item_set extends Structure
233     {
234
235         public LibVlcMedia item;
236     }
237
238     public class media_player_snapshot_taken extends Structure
239     {
240
241         public String psz_filename;
242     }
243
244     public class media_player_length_changed extends Structure
245     {
246
247         // @todo: check the type
248         public long new_length;
249     }
250
251     public class vlm_media_event extends Structure
252     {
253
254         public String psz_media_name;
255
256         public String psz_instance_name;
257     }
258
259     public class event_type_specific extends Union
260     {
261
262         public media_meta_changed media_meta_changed;
263
264         public media_subitem_added media_subitem_added;
265
266         public media_duration_changed media_duration_changed;
267
268         public media_preparsed_changed media_preparsed_changed;
269
270         public media_freed media_freed;
271
272         public media_state_changed media_state_changed;
273
274         public media_player_position_changed media_player_position_changed;
275
276         public media_player_time_changed media_player_time_changed;
277
278         public media_player_title_changed media_player_title_changed;
279
280         public media_player_seekable_changed media_player_seekable_changed;
281
282         public media_player_pausable_changed media_player_pausable_changed;
283
284         public media_list_item_added media_list_item_added;
285
286         public media_list_will_add_item media_list_will_add_item;
287
288         public media_list_item_deleted media_list_item_deleted;
289
290         public media_list_will_delete_item media_list_will_delete_item;
291
292         public media_list_view_item_added media_list_view_item_added;
293
294         public media_list_view_will_add_item media_list_view_will_add_item;
295
296         public media_list_view_item_deleted media_list_view_item_deleted;
297
298         public media_list_view_will_delete_item media_list_view_will_delete_item;
299
300         public media_list_player_next_item_set media_list_player_next_item_set;
301
302         public media_player_snapshot_taken media_player_snapshot_taken;
303
304         public media_player_length_changed media_player_length_changed;
305
306         public vlm_media_event vlm_media_event;
307     }
308
309     public class LibVlcLog extends PointerType
310     {
311     }
312
313     public class LibVlcMediaListView extends PointerType
314     {
315     }
316
317     public class LibVlcTrackDescription extends PointerType
318     {
319     }
320
321     public class LibVlcMediaListPlayer extends PointerType
322     {
323     }
324
325     public class LibVlcInstance extends PointerType
326     {
327     }
328
329     public class LibVlcEventManager extends PointerType
330     {
331     }
332
333     public class LibVlcMediaLibrary extends PointerType
334     {
335     }
336
337     public class LibVlcMediaList extends PointerType
338     {
339     }
340
341     public class LibVlcAudioOutput extends PointerType
342     {
343     }
344
345     public class LibVlcMediaPlayer extends PointerType
346     {
347     }
348
349     public class LibVlcMedia extends PointerType
350     {
351     }
352
353     public class LibVlcMediaDiscoverer extends PointerType
354     {
355     }
356
357     public class LibVlcLogIterator extends PointerType
358     {
359     }
360
361     ///////////////////////////////////////////////////////////////////////////
362     //                     Auto generated method stubs                       //
363     ///////////////////////////////////////////////////////////////////////////
364
365     $libVLC_stubs
366 }
367