Mozilla : use \n
[vlc.git] / projects / mozilla / control / npolibvlc.h
index 034c084..21ed768 100644 (file)
-/*****************************************************************************\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/libvlc.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),
+    logObj(NULL),
+    playlistObj(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 *logObj;
+    NPObject *playlistObj;
+    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[];
+};
+
+class LibvlcMessageNPObject: public RuntimeNPObject
+{
+public:
+    void setMessage(struct libvlc_log_message_t &msg)
+    {
+        _msg = msg;
+    };
+
+protected:
+    friend class RuntimeNPClass<LibvlcMessageNPObject>;
+
+    LibvlcMessageNPObject(NPP instance, const NPClass *aClass) :
+        RuntimeNPObject(instance, aClass) {};
+
+    virtual ~LibvlcMessageNPObject() {};
+
+    static const int propertyCount;
+    static const NPUTF8 * const propertyNames[];
+
+    InvokeResult getProperty(int index, NPVariant &result);
+
+    static const int methodCount;
+    static const NPUTF8 * const methodNames[];
+
+private:
+    struct libvlc_log_message_t _msg;
+};
+
+class LibvlcLogNPObject;
+
+class LibvlcMessageIteratorNPObject: public RuntimeNPObject
+{
+protected:
+    friend class RuntimeNPClass<LibvlcMessageIteratorNPObject>;
+
+    LibvlcMessageIteratorNPObject(NPP instance, const NPClass *aClass);
+    virtual ~LibvlcMessageIteratorNPObject();
+
+    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:
+    libvlc_log_iterator_t*  _p_iter;
+};
+
+class LibvlcMessagesNPObject: public RuntimeNPObject
+{
+protected:
+    friend class RuntimeNPClass<LibvlcMessagesNPObject>;
+
+    LibvlcMessagesNPObject(NPP instance, const NPClass *aClass) :
+        RuntimeNPObject(instance, aClass) {};
+
+    virtual ~LibvlcMessagesNPObject() {};
+
+    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 LibvlcLogNPObject: public RuntimeNPObject
+{
+protected:
+    friend class RuntimeNPClass<LibvlcLogNPObject>;
+
+    LibvlcLogNPObject(NPP instance, const NPClass *aClass) :
+    RuntimeNPObject(instance, aClass),
+    messagesObj(NULL) {};
+
+    virtual ~LibvlcLogNPObject();
+
+    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[];
+
+private:
+    NPObject* messagesObj;
+};
+
+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 LibvlcVideoNPObject: public RuntimeNPObject
+{
+protected:
+    friend class RuntimeNPClass<LibvlcVideoNPObject>;
+
+    LibvlcVideoNPObject(NPP instance, const NPClass *aClass) :
+        RuntimeNPObject(instance, aClass) {};
+    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);
+};