Aegisub/vsfilter/include/virtualdub/ScriptInterpreter.h
Niels Martin Hansen 1fb4f58ff2 Import VSFilter from guliverkli.
Originally committed to SVN as r1399.
2007-07-09 18:33:44 +00:00

33 lines
980 B
C++

#ifndef f_SYLIA_SCRIPTINTERPRETER_H
#define f_SYLIA_SCRIPTINTERPRETER_H
class CScriptValue;
class CScriptError;
struct CScriptObject;
class IScriptInterpreter;
typedef CScriptValue (*ScriptRootHandlerPtr)(IScriptInterpreter *,char *,void *);
class IScriptInterpreter {
public:
virtual void Destroy() =0;
virtual void SetRootHandler(ScriptRootHandlerPtr, void *) =0;
virtual void ExecuteLine(char *s) =0;
virtual void ScriptError(int e) =0;
virtual char* TranslateScriptError(CScriptError& cse) =0;
virtual char** AllocTempString(long l) =0;
virtual CScriptValue LookupObjectMember(CScriptObject *obj, void *, char *szIdent) = 0;
};
extern "C" __declspec(dllexport) IScriptInterpreter * __stdcall CreateScriptInterpreter();
#define GETPROC_CREATESCRIPTINTERPRETER(hInst) ((IScriptInterpreter *(__stdcall *)())GetProcAddress(hInst, "_CreateScriptInterpreter@0"))
#define EXT_SCRIPT_ERROR(x) (isi->ScriptError((CScriptError::x)))
#endif