blob: 2c4b4ed078ec366df151bd1d34761b477a180c87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#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
|