-/*****************************************************************************\r
- * npolibvlc.h: official Javascript APIs\r
- *****************************************************************************\r
- * Copyright (C) 2002-2006 the VideoLAN team\r
- *\r
- * Authors: Damien Fouilleul <damien.fouilleul@laposte.net>\r
- *\r
- * This program is free software; you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation; either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.\r
- *****************************************************************************/\r
-\r
-/*\r
-** defined runtime script objects\r
-*/\r
-#include <vlc/libvlc.h>\r
-\r
-#include "nporuntime.h"\r
-\r
-class LibvlcRootNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcRootNPObject>;\r
-\r
- LibvlcRootNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass),\r
- audioObj(NULL),\r
- inputObj(NULL),\r
- logObj(NULL),\r
- playlistObj(NULL),\r
- videoObj(NULL) {};\r
-\r
- virtual ~LibvlcRootNPObject();\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-\r
-private:\r
- NPObject *audioObj;\r
- NPObject *inputObj;\r
- NPObject *logObj;\r
- NPObject *playlistObj;\r
- NPObject *videoObj;\r
-};\r
-\r
-class LibvlcAudioNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- LibvlcAudioNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass) {};\r
- virtual ~LibvlcAudioNPObject() {};\r
-\r
- friend class RuntimeNPClass<LibvlcAudioNPObject>;\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
- InvokeResult setProperty(int index, const NPVariant &value);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-};\r
-\r
-class LibvlcInputNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcInputNPObject>;\r
-\r
- LibvlcInputNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass) {};\r
-\r
- virtual ~LibvlcInputNPObject() {};\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
- InvokeResult setProperty(int index, const NPVariant &value);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-};\r
-\r
-class LibvlcMessageNPObject: public RuntimeNPObject\r
-{\r
-public:\r
- void setMessage(struct libvlc_log_message_t &msg)\r
- {\r
- _msg = msg;\r
- };\r
-\r
-protected:\r
- friend class RuntimeNPClass<LibvlcMessageNPObject>;\r
-\r
- LibvlcMessageNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass) {};\r
-\r
- virtual ~LibvlcMessageNPObject() {};\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
-private:\r
- struct libvlc_log_message_t _msg;\r
-};\r
-\r
-class LibvlcLogNPObject;\r
-\r
-class LibvlcMessageIteratorNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcMessageIteratorNPObject>;\r
-\r
- LibvlcMessageIteratorNPObject(NPP instance, const NPClass *aClass);\r
- virtual ~LibvlcMessageIteratorNPObject();\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-\r
-private:\r
- libvlc_log_iterator_t* _p_iter;\r
-};\r
-\r
-class LibvlcMessagesNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcMessagesNPObject>;\r
-\r
- LibvlcMessagesNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass) {};\r
-\r
- virtual ~LibvlcMessagesNPObject() {};\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-};\r
-\r
-class LibvlcLogNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcLogNPObject>;\r
-\r
- LibvlcLogNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass),\r
- messagesObj(NULL) {};\r
-\r
- virtual ~LibvlcLogNPObject();\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
- InvokeResult setProperty(int index, const NPVariant &value);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
-private:\r
- NPObject* messagesObj;\r
-};\r
-\r
-class LibvlcPlaylistItemsNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcPlaylistItemsNPObject>;\r
-\r
- LibvlcPlaylistItemsNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass) {};\r
- virtual ~LibvlcPlaylistItemsNPObject() {};\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-};\r
-\r
-class LibvlcPlaylistNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcPlaylistNPObject>;\r
-\r
- LibvlcPlaylistNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass),\r
- playlistItemsObj(NULL) {};\r
- \r
- virtual ~LibvlcPlaylistNPObject();\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-\r
- void parseOptions(const NPString &s, int *i_options, char*** ppsz_options);\r
- void parseOptions(NPObject *obj, int *i_options, char*** ppsz_options);\r
-\r
-private:\r
- NPObject* playlistItemsObj;\r
-};\r
-\r
-class LibvlcVideoNPObject: public RuntimeNPObject\r
-{\r
-protected:\r
- friend class RuntimeNPClass<LibvlcVideoNPObject>;\r
-\r
- LibvlcVideoNPObject(NPP instance, const NPClass *aClass) :\r
- RuntimeNPObject(instance, aClass) {};\r
- virtual ~LibvlcVideoNPObject() {};\r
-\r
- static const int propertyCount;\r
- static const NPUTF8 * const propertyNames[];\r
-\r
- InvokeResult getProperty(int index, NPVariant &result);\r
- InvokeResult setProperty(int index, const NPVariant &value);\r
-\r
- static const int methodCount;\r
- static const NPUTF8 * const methodNames[];\r
-\r
- InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
-};\r
+/*****************************************************************************
+ * npolibvlc.h: official Javascript APIs
+ *****************************************************************************
+ * Copyright (C) 2002-2006 the VideoLAN team
+ *
+ * Authors: Damien Fouilleul <damien.fouilleul@laposte.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+/*
+** defined runtime script objects
+*/
+#include <vlc/vlc.h>
+
+#include "nporuntime.h"
+
+class LibvlcRootNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcRootNPObject>;
+
+ LibvlcRootNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass),
+ audioObj(NULL),
+ inputObj(NULL),
+ playlistObj(NULL),
+ subtitleObj(NULL),
+ videoObj(NULL) {};
+
+ virtual ~LibvlcRootNPObject();
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+
+private:
+ NPObject *audioObj;
+ NPObject *inputObj;
+ NPObject *playlistObj;
+ NPObject *subtitleObj;
+ NPObject *videoObj;
+};
+
+class LibvlcAudioNPObject: public RuntimeNPObject
+{
+protected:
+ LibvlcAudioNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass) {};
+ virtual ~LibvlcAudioNPObject() {};
+
+ friend class RuntimeNPClass<LibvlcAudioNPObject>;
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+ InvokeResult setProperty(int index, const NPVariant &value);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+};
+
+class LibvlcInputNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcInputNPObject>;
+
+ LibvlcInputNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass) {};
+
+ virtual ~LibvlcInputNPObject() {};
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+ InvokeResult setProperty(int index, const NPVariant &value);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+};
+
+class LibvlcPlaylistItemsNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcPlaylistItemsNPObject>;
+
+ LibvlcPlaylistItemsNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass) {};
+ virtual ~LibvlcPlaylistItemsNPObject() {};
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+};
+
+class LibvlcPlaylistNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcPlaylistNPObject>;
+
+ LibvlcPlaylistNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass),
+ playlistItemsObj(NULL) {};
+
+ virtual ~LibvlcPlaylistNPObject();
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+
+ void parseOptions(const NPString &s, int *i_options, char*** ppsz_options);
+ void parseOptions(NPObject *obj, int *i_options, char*** ppsz_options);
+
+private:
+ NPObject* playlistItemsObj;
+};
+
+class LibvlcSubtitleNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcSubtitleNPObject>;
+
+ LibvlcSubtitleNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass) {};
+ virtual ~LibvlcSubtitleNPObject() {};
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+ InvokeResult setProperty(int index, const NPVariant &value);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+};
+
+
+class LibvlcVideoNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcVideoNPObject>;
+
+ LibvlcVideoNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass),
+ marqueeObj(NULL) {};
+ virtual ~LibvlcVideoNPObject() {};
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+ InvokeResult setProperty(int index, const NPVariant &value);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+
+private:
+ NPObject *marqueeObj;
+};
+
+class LibvlcMarqueeNPObject: public RuntimeNPObject
+{
+protected:
+ friend class RuntimeNPClass<LibvlcMarqueeNPObject>;
+
+ LibvlcMarqueeNPObject(NPP instance, const NPClass *aClass) :
+ RuntimeNPObject(instance, aClass) {};
+ virtual ~LibvlcMarqueeNPObject() {};
+
+ static const int propertyCount;
+ static const NPUTF8 * const propertyNames[];
+
+ InvokeResult getProperty(int index, NPVariant &result);
+ InvokeResult setProperty(int index, const NPVariant &value);
+
+ static const int methodCount;
+ static const NPUTF8 * const methodNames[];
+
+ InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);
+};