home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 275 / DPCS0111DVD.ISO / Toolkit / Audio-Visual / VirtualDub / Source / VirtualDub-1.9.10-src.7z / src / Sylia / ScriptInterpreter.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-09-14  |  1.1 KB  |  36 lines

  1. #ifndef f_SYLIA_SCRIPTINTERPRETER_H
  2. #define f_SYLIA_SCRIPTINTERPRETER_H
  3.  
  4. class VDScriptValue;
  5. class VDScriptError;
  6. struct VDScriptObject;
  7. class IVDScriptInterpreter;
  8. struct VDScriptFunctionDef;
  9.  
  10. typedef VDScriptValue (*VDScriptRootHandlerPtr)(IVDScriptInterpreter *,char *,void *);
  11.  
  12. class IVDScriptInterpreter {
  13. public:
  14.     virtual    ~IVDScriptInterpreter() {}
  15.  
  16.     virtual void SetRootHandler(VDScriptRootHandlerPtr, void *)    =0;
  17.  
  18.     virtual void ExecuteLine(const char *s)                        =0;
  19.  
  20.     virtual void ScriptError(int e)                                =0;
  21.     virtual const char* TranslateScriptError(const VDScriptError& cse)    =0;
  22.     virtual char** AllocTempString(long l)                        =0;
  23.  
  24.     virtual VDScriptValue LookupObjectMember(const VDScriptObject *obj, void *, char *szIdent) = 0;
  25.  
  26.     virtual const VDScriptFunctionDef *GetCurrentMethod() = 0;
  27.     virtual int GetErrorLocation() = 0;
  28.     virtual VDScriptValue    DupCString(const char *) = 0;
  29. };
  30.  
  31. IVDScriptInterpreter *VDCreateScriptInterpreter();
  32.  
  33. #define VDSCRIPT_EXT_ERROR(x)    if(true){isi->ScriptError(VDScriptError::x); VDNEVERHERE;}else
  34.  
  35. #endif
  36.