1 /*****************************************************************************
2 * npolibvlc.h: official Javascript APIs
3 *****************************************************************************
4 * Copyright (C) 2002-2006 the VideoLAN team
6 * Authors: Damien Fouilleul <damien.fouilleul@laposte.net>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21 *****************************************************************************/
24 ** defined runtime script objects
28 #include "nporuntime.h"
30 class LibvlcRootNPObject: public RuntimeNPObject
33 friend class RuntimeNPClass<LibvlcRootNPObject>;
35 LibvlcRootNPObject(NPP instance, const NPClass *aClass) :
36 RuntimeNPObject(instance, aClass),
44 virtual ~LibvlcRootNPObject();
46 static const int propertyCount;
47 static const NPUTF8 * const propertyNames[];
49 InvokeResult getProperty(int index, NPVariant &result);
51 static const int methodCount;
52 static const NPUTF8 * const methodNames[];
54 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
59 NPObject *playlistObj;
60 NPObject *subtitleObj;
65 class LibvlcAudioNPObject: public RuntimeNPObject
68 LibvlcAudioNPObject(NPP instance, const NPClass *aClass) :
69 RuntimeNPObject(instance, aClass) {};
70 virtual ~LibvlcAudioNPObject() {};
72 friend class RuntimeNPClass<LibvlcAudioNPObject>;
74 static const int propertyCount;
75 static const NPUTF8 * const propertyNames[];
77 InvokeResult getProperty(int index, NPVariant &result);
78 InvokeResult setProperty(int index, const NPVariant &value);
80 static const int methodCount;
81 static const NPUTF8 * const methodNames[];
83 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
86 class LibvlcInputNPObject: public RuntimeNPObject
89 friend class RuntimeNPClass<LibvlcInputNPObject>;
91 LibvlcInputNPObject(NPP instance, const NPClass *aClass) :
92 RuntimeNPObject(instance, aClass) {};
94 virtual ~LibvlcInputNPObject() {};
96 static const int propertyCount;
97 static const NPUTF8 * const propertyNames[];
99 InvokeResult getProperty(int index, NPVariant &result);
100 InvokeResult setProperty(int index, const NPVariant &value);
102 static const int methodCount;
103 static const NPUTF8 * const methodNames[];
105 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
108 class LibvlcPlaylistItemsNPObject: public RuntimeNPObject
111 friend class RuntimeNPClass<LibvlcPlaylistItemsNPObject>;
113 LibvlcPlaylistItemsNPObject(NPP instance, const NPClass *aClass) :
114 RuntimeNPObject(instance, aClass) {};
115 virtual ~LibvlcPlaylistItemsNPObject() {};
117 static const int propertyCount;
118 static const NPUTF8 * const propertyNames[];
120 InvokeResult getProperty(int index, NPVariant &result);
122 static const int methodCount;
123 static const NPUTF8 * const methodNames[];
125 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
128 class LibvlcPlaylistNPObject: public RuntimeNPObject
131 friend class RuntimeNPClass<LibvlcPlaylistNPObject>;
133 LibvlcPlaylistNPObject(NPP instance, const NPClass *aClass) :
134 RuntimeNPObject(instance, aClass),
135 playlistItemsObj(NULL) {};
137 virtual ~LibvlcPlaylistNPObject();
139 static const int propertyCount;
140 static const NPUTF8 * const propertyNames[];
142 InvokeResult getProperty(int index, NPVariant &result);
144 static const int methodCount;
145 static const NPUTF8 * const methodNames[];
147 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
149 void parseOptions(const NPString &s, int *i_options, char*** ppsz_options);
150 void parseOptions(NPObject *obj, int *i_options, char*** ppsz_options);
153 NPObject* playlistItemsObj;
156 class LibvlcSubtitleNPObject: public RuntimeNPObject
159 friend class RuntimeNPClass<LibvlcSubtitleNPObject>;
161 LibvlcSubtitleNPObject(NPP instance, const NPClass *aClass) :
162 RuntimeNPObject(instance, aClass) {};
163 virtual ~LibvlcSubtitleNPObject() {};
165 static const int propertyCount;
166 static const NPUTF8 * const propertyNames[];
168 InvokeResult getProperty(int index, NPVariant &result);
169 InvokeResult setProperty(int index, const NPVariant &value);
171 static const int methodCount;
172 static const NPUTF8 * const methodNames[];
174 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
178 class LibvlcVideoNPObject: public RuntimeNPObject
181 friend class RuntimeNPClass<LibvlcVideoNPObject>;
183 LibvlcVideoNPObject(NPP instance, const NPClass *aClass) :
184 RuntimeNPObject(instance, aClass),
185 marqueeObj(NULL), logoObj(NULL), deintObj(NULL) { }
186 virtual ~LibvlcVideoNPObject();
188 static const int propertyCount;
189 static const NPUTF8 * const propertyNames[];
191 InvokeResult getProperty(int index, NPVariant &result);
192 InvokeResult setProperty(int index, const NPVariant &value);
194 static const int methodCount;
195 static const NPUTF8 * const methodNames[];
197 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
200 NPObject *marqueeObj;
205 class LibvlcMarqueeNPObject: public RuntimeNPObject
208 friend class RuntimeNPClass<LibvlcMarqueeNPObject>;
210 LibvlcMarqueeNPObject(NPP instance, const NPClass *aClass) :
211 RuntimeNPObject(instance, aClass) {};
212 virtual ~LibvlcMarqueeNPObject() {};
214 static const int propertyCount;
215 static const NPUTF8 * const propertyNames[];
217 InvokeResult getProperty(int index, NPVariant &result);
218 InvokeResult setProperty(int index, const NPVariant &value);
220 static const int methodCount;
221 static const NPUTF8 * const methodNames[];
223 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
226 class LibvlcLogoNPObject: public RuntimeNPObject
229 friend class RuntimeNPClass<LibvlcLogoNPObject>;
231 LibvlcLogoNPObject(NPP instance, const NPClass *aClass) :
232 RuntimeNPObject(instance, aClass) { }
233 virtual ~LibvlcLogoNPObject() { }
235 static const int propertyCount;
236 static const NPUTF8 * const propertyNames[];
238 InvokeResult getProperty(int index, NPVariant &result);
239 InvokeResult setProperty(int index, const NPVariant &value);
241 static const int methodCount;
242 static const NPUTF8 * const methodNames[];
244 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
247 class LibvlcDeinterlaceNPObject: public RuntimeNPObject
250 friend class RuntimeNPClass<LibvlcDeinterlaceNPObject>;
252 LibvlcDeinterlaceNPObject(NPP instance, const NPClass *aClass) :
253 RuntimeNPObject(instance, aClass) { }
254 virtual ~LibvlcDeinterlaceNPObject() { }
256 static const int propertyCount;
257 static const NPUTF8 * const propertyNames[];
259 InvokeResult getProperty(int index, NPVariant &result);
260 InvokeResult setProperty(int index, const NPVariant &value);
262 static const int methodCount;
263 static const NPUTF8 * const methodNames[];
265 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
268 class LibvlcEventNPObject: public RuntimeNPObject
271 friend class RuntimeNPClass<LibvlcEventNPObject>;
273 LibvlcEventNPObject(NPP instance, const NPClass *aClass) :
274 RuntimeNPObject(instance, aClass) {};
275 virtual ~LibvlcEventNPObject() {};
277 static const int propertyCount;
278 static const NPUTF8 * const propertyNames[];
280 static const int methodCount;
281 static const NPUTF8 * const methodNames[];
283 InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
285 bool parseArgs(const NPVariant *args, uint32_t argCount,
286 eventtypes_bitmap_t &eventToGet);