]> git.sesse.net Git - vlc/blob - bindings/python-ctypes/LibVlc-header.java
Add some locking.
[vlc] / bindings / python-ctypes / LibVlc-header.java
1 package org.videolan.jvlc.internal;
2
3 import com.sun.jna.Callback;
4 import com.sun.jna.Library;
5 import com.sun.jna.Native;
6 import com.sun.jna.NativeLong;
7 import com.sun.jna.Platform;
8 import com.sun.jna.Pointer;
9 import com.sun.jna.PointerType;
10 import com.sun.jna.Structure;
11 import com.sun.jna.Union;
12
13
14 public interface LibVlc extends Library
15 {
16     LibVlc INSTANCE = (LibVlc) Native.loadLibrary(Platform.isWindows()? "libvlc" : "vlc", LibVlc.class);
17
18     LibVlc SYNC_INSTANCE = (LibVlc) Native.synchronizedLibrary(INSTANCE);
19
20     public static class libvlc_exception_t extends Structure
21     {
22         public int b_raised;
23     }
24
25     public static class libvlc_log_message_t extends Structure
26     {
27
28         public int sizeof_msg; /* sizeof() of message structure, must be filled in by user */
29
30         public int i_severity; /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */
31
32         public String psz_type; /* module type */
33
34         public String psz_name; /* module name */
35
36         public String psz_header; /* optional header */
37
38         public String psz_message; /* message */
39     }
40
41     public static class libvlc_event_t extends Structure
42     {
43
44         public int type;
45
46         public Pointer p_obj;
47
48         public event_type_specific event_type_specific;
49
50     }
51
52     public class media_meta_changed extends Structure
53     {
54         // Enum !
55         public Pointer meta_type;
56     }
57
58     public class media_subitem_added extends Structure
59     {
60
61         public LibVlcMedia new_child;
62     }
63
64     public class media_duration_changed extends Structure
65     {
66
67         public NativeLong new_duration;
68     }
69
70     public class media_preparsed_changed extends Structure
71     {
72
73         public int new_status;
74     }
75
76     public class media_freed extends Structure
77     {
78
79         public LibVlcMedia md;
80     }
81
82     public class media_state_changed extends Structure
83     {
84
85         // @todo: check this one
86         public int new_state;
87     }
88
89     /* media instance */
90
91     public class media_player_position_changed extends Structure
92     {
93
94         public float new_position;
95     }
96
97     public class media_player_time_changed extends Structure
98     {
99
100         // @todo: check this one
101         public long new_time;
102     }
103
104     public class media_player_title_changed extends Structure
105     {
106         public int new_title;
107     }
108
109     public class media_player_seekable_changed extends Structure
110     {
111         public NativeLong new_seekable;
112     }
113
114     public class media_player_pausable_changed extends Structure
115     {
116         public NativeLong new_pausable;
117     }
118
119     /* media list */
120     public class media_list_item_added extends Structure
121     {
122
123         public LibVlcMedia item;
124
125         public int index;
126     }
127
128     public class media_list_will_add_item extends Structure
129     {
130
131         public LibVlcMedia item;
132
133         public int index;
134     }
135
136     public class media_list_item_deleted extends Structure
137     {
138
139         public LibVlcMedia item;
140
141         public int index;
142     }
143
144     public class media_list_will_delete_item extends Structure
145     {
146
147         public LibVlcMedia item;
148
149         public int index;
150     }
151
152     /* media list view */
153     public class media_list_view_item_added extends Structure
154     {
155
156         public LibVlcMedia item;
157
158         public int index;
159     }
160
161     public class media_list_view_will_add_item extends Structure
162     {
163
164         public LibVlcMedia item;
165
166         public int index;
167     }
168
169     public class media_list_view_item_deleted extends Structure
170     {
171
172         public LibVlcMedia item;
173
174         public int index;
175     }
176
177     public class media_list_view_will_delete_item extends Structure
178     {
179
180         public LibVlcMedia item;
181
182         public int index;
183     }
184
185     public class media_list_player_next_item_set extends Structure
186     {
187         public LibVlcMedia item;
188     }
189
190     public class media_player_snapshot_taken extends Structure
191     {
192         public String psz_filename;
193     }
194
195     public class media_player_length_changed extends Structure
196     {
197         // @todo: check the type
198         public long new_length;
199     }
200
201     public class vlm_media_event extends Structure
202     {
203         public String psz_media_name;
204         public String psz_instance_name;
205     }
206
207     public class event_type_specific extends Union
208     {
209
210         public media_meta_changed media_meta_changed;
211
212         public media_subitem_added media_subitem_added;
213
214         public media_duration_changed media_duration_changed;
215
216         public media_preparsed_changed media_preparsed_changed;
217
218         public media_freed media_freed;
219
220         public media_state_changed media_state_changed;
221
222         public media_player_position_changed media_player_position_changed;
223
224         public media_player_time_changed media_player_time_changed;
225
226         public media_player_title_changed media_player_title_changed;
227
228         public media_player_seekable_changed media_player_seekable_changed;
229
230         public media_player_pausable_changed media_player_pausable_changed;
231
232         public media_list_item_added media_list_item_added;
233
234         public media_list_will_add_item media_list_will_add_item;
235
236         public media_list_item_deleted media_list_item_deleted;
237
238         public media_list_will_delete_item media_list_will_delete_item;
239
240         public media_list_view_item_added media_list_view_item_added;
241
242         public media_list_view_will_add_item media_list_view_will_add_item;
243
244         public media_list_view_item_deleted media_list_view_item_deleted;
245
246         public media_list_view_will_delete_item media_list_view_will_delete_item;
247
248         public media_list_player_next_item_set media_list_player_next_item_set;
249
250         public media_player_snapshot_taken media_player_snapshot_taken;
251
252         public media_player_length_changed media_player_length_changed;
253
254         public vlm_media_event vlm_media_event;
255     }