/*\r
** defined runtime script objects\r
*/\r
+#include <vlc/libvlc.h>\r
\r
#include "nporuntime.h"\r
\r
protected:\r
friend class RuntimeNPClass<LibvlcRootNPObject>;\r
\r
- LibvlcRootNPObject(NPP instance, const NPClass *aClass);\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 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
LibvlcInputNPObject(NPP instance, const NPClass *aClass) :\r
RuntimeNPObject(instance, aClass) {};\r
- \r
+\r
virtual ~LibvlcInputNPObject() {};\r
\r
static const int propertyCount;\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
- virtual ~LibvlcPlaylistNPObject() {};\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
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
InvokeResult invoke(int index, const NPVariant *args, uint32_t argCount, NPVariant &result);\r
};\r
-\r