1 #ifndef f_SYLIA_SCRIPTINTERPRETER_H
2 #define f_SYLIA_SCRIPTINTERPRETER_H
7 class IScriptInterpreter
;
9 typedef CScriptValue (*ScriptRootHandlerPtr
)(IScriptInterpreter
*,char *,void *);
11 class IScriptInterpreter
{
13 virtual void Destroy() =0;
15 virtual void SetRootHandler(ScriptRootHandlerPtr
, void *) =0;
17 virtual void ExecuteLine(char *s
) =0;
19 virtual void ScriptError(int e
) =0;
20 virtual char* TranslateScriptError(CScriptError
& cse
) =0;
21 virtual char** AllocTempString(long l
) =0;
23 virtual CScriptValue
LookupObjectMember(CScriptObject
*obj
, void *, char *szIdent
) = 0;
26 extern "C" __declspec(dllexport
) IScriptInterpreter
* __stdcall
CreateScriptInterpreter();
28 #define GETPROC_CREATESCRIPTINTERPRETER(hInst) ((IScriptInterpreter *(__stdcall *)())GetProcAddress(hInst, "_CreateScriptInterpreter@0"))
30 #define EXT_SCRIPT_ERROR(x) (isi->ScriptError((CScriptError::x)))