From bb6784e0e1a385cdd20b41d3254093e89a210332 Mon Sep 17 00:00:00 2001 From: pescuma Date: Wed, 31 Dec 2008 21:12:58 +0000 Subject: skins: Added SkinLib git-svn-id: http://pescuma.googlecode.com/svn/trunk/Miranda@120 c086bb3d-8645-0410-b8da-73a8550f86e7 --- Plugins/skins/SkinLib/V8Script.h | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Plugins/skins/SkinLib/V8Script.h (limited to 'Plugins/skins/SkinLib/V8Script.h') diff --git a/Plugins/skins/SkinLib/V8Script.h b/Plugins/skins/SkinLib/V8Script.h new file mode 100644 index 0000000..2611f47 --- /dev/null +++ b/Plugins/skins/SkinLib/V8Script.h @@ -0,0 +1,41 @@ +#ifndef __V8_SCRIPT_H__ +# define __V8_SCRIPT_H__ + +#include +#include "V8Wrappers.h" + +typedef void (*ExceptionCallback)(void *param, const TCHAR *err); + + +class V8Script +{ +public: + V8Script(); + ~V8Script(); + + bool compile(const TCHAR *source, Dialog *dlg); + void dispose(); + + bool isValid(); + + SkinOptions * createOptions(Dialog *dlg); + + bool run(DialogState * state, SkinOptions *opts); + + void setExceptionCallback(ExceptionCallback cb, void *param = NULL); + +private: + V8Wrappers wrappers; + v8::Persistent context; + v8::Persistent script; + + ExceptionCallback exceptionCallback; + void *exceptionCallbackParam; + + v8::Handle getOptionsFunction(Dialog *dlg); + void reportException(v8::TryCatch *try_catch); +}; + + + +#endif // __V8_SCRIPT_H__ -- cgit v1.2.3