465 lines
22 KiB
C++
465 lines
22 KiB
C++
#pragma once
|
|
|
|
class ISLavishScriptInterface
|
|
{
|
|
public:
|
|
// paths
|
|
virtual char *GetCWD(char *buffer, size_t buflen)=0;
|
|
virtual char *SetRoot(const char *Filename, char *Dest)=0;
|
|
|
|
virtual bool AddCommand(const char *Command, fLSCommand Function, bool Parse=true, bool Hidden=false)=0;
|
|
virtual bool RemoveCommand(const char *Command)=0;
|
|
virtual bool AddAlias(const char *Replace, const char *With)=0;
|
|
virtual bool RemoveAlias(const char *Replace)=0;
|
|
virtual char *GetArgs(int BeginInclusive, int EndExclusive, char *argv[], char *buf, size_t buflen)=0;
|
|
virtual char *GetArgsQuoted(int BeginInclusive, int EndExclusive, char *argv[], char *buf, size_t buflen)=0;
|
|
virtual char *GetArgsQuotedNF(int BeginInclusive, int EndExclusive, char *argv[], char *buf, size_t buflen)=0;
|
|
virtual void ExecuteTimedCommand(unsigned int DelayMS, const char *Command)=0;
|
|
virtual int ExecuteCommand(const char *Text)=0;
|
|
virtual int DataParse(const char *ToParse, char *buf, size_t buflen)=0;
|
|
virtual bool DataParse(const char *Text, LSOBJECT &Object)=0;
|
|
virtual bool RunScript(const char *Filename)=0;
|
|
virtual bool EndScript(const char *Filename)=0;
|
|
virtual bool RunCommandFile(const char *Filename)=0;
|
|
virtual bool AddTopLevelObject(const char *Name, fLSTopLevelObject Function)=0;
|
|
virtual bool RemoveTopLevelObject(const char *Name)=0;
|
|
virtual bool AddLSTypeDefinition(class LSTypeDefinition &Type)=0;
|
|
virtual bool RemoveLSTypeDefinition(class LSTypeDefinition &Type)=0;
|
|
virtual LSTypeDefinition *FindLSTypeDefinition(const char *Name, char *subtypebuf=0, size_t subtypebuflen=0)=0;
|
|
virtual fLSCommand IsCommand(const char *Name)=0;
|
|
virtual bool IsAlias(const char *Name)=0;
|
|
virtual fLSTopLevelObject IsTopLevelObject(const char *Name)=0;
|
|
virtual bool IsLSTypeDefinition(const char *Name)=0;
|
|
virtual bool ResolveCommand(const char *Text, char *buf,size_t buflen)=0;
|
|
virtual void *GetTempBuffer(unsigned int Size, void *CopyFrom=0)=0;
|
|
virtual void AddTempObject(CTempObject *pObject)=0;
|
|
virtual bool RunScriptFromBuffer(const char *Name, const char *Buffer, size_t buflen, int argc=0, char *argv[]=0, const char *CWD=0)=0;
|
|
|
|
// pre-compiled scripts
|
|
|
|
// compiled text and data sequences (improve performance of reused text)
|
|
virtual unsigned int PreParseText(const char *Text, bool bDataSequence=false)=0;
|
|
virtual bool RetrieveOriginalText(unsigned int ID, char *buf, size_t buflen)=0;
|
|
virtual bool RetrieveProcessedText(unsigned int ID, char *buf, size_t buflen)=0;
|
|
virtual bool RetrieveProcessedResult(unsigned int ID, LSOBJECT &Result)=0; // data sequence only
|
|
virtual bool FreePreParsed(unsigned int ID)=0;
|
|
|
|
// object persistence
|
|
virtual unsigned int RegisterPersistentClass(const char *Name)=0;
|
|
virtual void InvalidatePersistentClass(unsigned int Class)=0;
|
|
virtual void InvalidatePersistentObject(unsigned int Class, unsigned __int64 Value)=0;
|
|
virtual void SetPersistentClass(LSTypeDefinition *pType,unsigned int Class)=0;
|
|
|
|
// object queries
|
|
virtual unsigned int CreateQuery(const char *Text)=0;
|
|
virtual bool RetrieveQueryExpression(unsigned int ID,char *buf, size_t buflen)=0;
|
|
virtual bool QueryEvaluate(unsigned int ID,LSOBJECT &Object, bool &bResult)=0;
|
|
virtual bool FreeQuery(unsigned int ID)=0;
|
|
|
|
|
|
virtual unsigned int PersistObject(LSOBJECT &object)=0;
|
|
virtual bool GetPersistedObject(unsigned int key, LSOBJECT &out_object)=0;
|
|
|
|
virtual void ISLavishScriptInterface_06_Reserved() {}
|
|
virtual void ISLavishScriptInterface_07_Reserved() {}
|
|
virtual void ISLavishScriptInterface_08_Reserved() {}
|
|
virtual void ISLavishScriptInterface_09_Reserved() {}
|
|
virtual void ISLavishScriptInterface_10_Reserved() {}
|
|
virtual void ISLavishScriptInterface_11_Reserved() {}
|
|
virtual void ISLavishScriptInterface_12_Reserved() {}
|
|
virtual void ISLavishScriptInterface_13_Reserved() {}
|
|
virtual void ISLavishScriptInterface_14_Reserved() {}
|
|
virtual void ISLavishScriptInterface_15_Reserved() {}
|
|
|
|
|
|
|
|
virtual unsigned int AddGlobalAtom(const char *Buffer, size_t buflen)=0;
|
|
virtual bool RemoveAtom(unsigned int AtomID)=0;
|
|
virtual int ExecuteAtom(unsigned int AtomID,int argc=0, char *argv[]=0, PLSOBJECT pThisLSObject=0, PLSOBJECT pContext=0, char *ReturnBuffer=0, size_t buflen=0)=0;
|
|
virtual int ExecuteAtom(const char *Name,int argc=0, char *argv[]=0, PLSOBJECT pContext=0, char *ReturnBuffer=0, size_t buflen=0)=0;
|
|
virtual int ExecuteAtom(const char *ScriptName, const char *Name,int argc=0, char *argv[]=0, PLSOBJECT pContext=0, char *ReturnBuffer=0, size_t buflen=0)=0;
|
|
virtual unsigned int ResolveAtom(const char *Name)=0;
|
|
|
|
// enumerations
|
|
virtual unsigned int EnumAliases(fLSGenericEnumCallback Callback, void *pData)=0;
|
|
virtual unsigned int EnumCommands(fLSGenericEnumCallback Callback, void *pData)=0;
|
|
virtual unsigned int EnumLSTypeDefinitions(fLSGenericEnumCallback Callback, void *pData)=0;
|
|
virtual unsigned int EnumTopLevelObjects(fLSGenericEnumCallback Callback, void *pData)=0;
|
|
virtual unsigned int EnumScripts(fLSGenericEnumCallback Callback, void *pData)=0;
|
|
|
|
// scripts
|
|
virtual bool GetCurrentScript(char *buffer, size_t buflen)=0;
|
|
virtual bool GetScriptCWD(const char *ScriptName, char *buffer, size_t buflen)=0;
|
|
virtual bool QueueCommand(const char *ScriptName, const char *Command)=0;
|
|
virtual unsigned int GetScriptRuntime(const char *ScriptName)=0;
|
|
virtual unsigned int PauseScripts()=0;
|
|
virtual unsigned int ResumeScripts()=0;
|
|
virtual unsigned int AddAtom(const char *ScriptName, const char *Buffer, size_t buflen)=0;
|
|
virtual bool ScriptEngineActive()=0;
|
|
virtual void LavishScriptPulse()=0;
|
|
|
|
// events
|
|
virtual unsigned int RegisterEvent(const char *Name)=0;
|
|
virtual void UnregisterEvent(unsigned int EventID)=0;
|
|
virtual bool ExecuteEvent(unsigned int EventID,int BeginInclusive=0, int EndExclusive=0, char *argv[]=0, PLSOBJECT pThisLSObject=0)=0;
|
|
virtual bool AttachEventTarget(unsigned int EventID,unsigned int AtomID)=0;
|
|
virtual bool AttachEventTarget(unsigned int EventID,fLSEventTarget fCallback)=0;
|
|
virtual bool DetachEventTarget(unsigned int EventID,unsigned int AtomID)=0;
|
|
virtual bool DetachEventTarget(unsigned int EventID,fLSEventTarget fCallback)=0;
|
|
|
|
// misc
|
|
virtual unsigned int GetRuntime()=0;
|
|
virtual char *Escape(const char *text, char *buf, size_t buflen)=0;
|
|
virtual char *EscapeQuotes(const char *text, char *buf, size_t buflen) = 0;
|
|
virtual bool CalculateResult(const char *Formula, double &Result)=0;
|
|
virtual bool CalculateResult(const char *Formula, __int64 &Result)=0;
|
|
|
|
virtual void Printf(const char *Format, ...)=0;
|
|
virtual void Print(const char *Text)=0;
|
|
virtual unsigned int GetTerminalWidth()=0;
|
|
|
|
// inline functions
|
|
inline bool AddLSType(class LSTypeDefinition &Type) { return AddLSTypeDefinition(Type); }
|
|
inline bool RemoveLSType(class LSTypeDefinition &Type) { return RemoveLSTypeDefinition(Type); }
|
|
inline LSTypeDefinition *FindLSType(char *Name) { return FindLSTypeDefinition(Name); }
|
|
|
|
inline bool IsLSType(char *Name) { return IsLSTypeDefinition(Name); }
|
|
};
|
|
|
|
class ISServiceMasterInterface
|
|
{
|
|
public:
|
|
// service master
|
|
virtual HISXSERVICE RegisterService(ISXInterface *pMaster, const char *Name, fISServiceRequest RequestCallback=0)=0;
|
|
virtual bool ServiceBroadcast(ISXInterface *pMaster, HISXSERVICE hService, unsigned int MSG, void *lpData)=0;
|
|
virtual bool ServiceNotify(ISXInterface *pMaster, HISXSERVICE hService, ISXInterface *pTarget, unsigned int MSG, void *lpData)=0;
|
|
virtual bool ShutdownService(ISXInterface *pMaster, HISXSERVICE hService)=0;
|
|
};
|
|
|
|
class ISServiceClientInterface
|
|
{
|
|
public:
|
|
// service client
|
|
virtual HISXSERVICE ConnectService(ISXInterface *pClient, const char *ServiceName, fISService NotifyCallback)=0;
|
|
virtual bool ServiceRequest(ISXInterface *pClient, HISXSERVICE hService, unsigned int MSG, void *lpData)=0;
|
|
virtual void DisconnectService(ISXInterface *pClient, HISXSERVICE hService)=0;
|
|
};
|
|
|
|
class ISInputInterface
|
|
{
|
|
public:
|
|
// input
|
|
virtual bool AddHotkey(const char *Name, const char *Combo, const char *Command, bool Press=false)=0;
|
|
virtual bool IsHotkey(const char *Name)=0;
|
|
virtual bool RemoveHotkey(const char *Name)=0;
|
|
virtual bool MouseTo(int X, int Y)=0;
|
|
virtual bool GetMousePos(int &X, int &Y)=0;
|
|
|
|
virtual bool EmulateKeyPress(const char *Combo, bool Hold)=0;
|
|
virtual bool EmulateKeyRelease(const char *Combo)=0;
|
|
virtual bool EmulateTyping(const char *Text)=0;
|
|
virtual bool EmulateMousePress(unsigned int Button, bool Hold)=0;
|
|
virtual bool EmulateMouseRelease(unsigned int Button)=0;
|
|
|
|
// disable binds
|
|
virtual unsigned int SetPrintableBindsAllowed(bool bEnable)=0;
|
|
virtual unsigned int GetPrintableBindsAllowedCount()=0;
|
|
|
|
|
|
virtual void ISInputInterface_00_Reserved() {}
|
|
virtual void ISInputInterface_01_Reserved() {}
|
|
virtual void ISInputInterface_02_Reserved() {}
|
|
virtual void ISInputInterface_03_Reserved() {}
|
|
virtual void ISInputInterface_04_Reserved() {}
|
|
virtual void ISInputInterface_05_Reserved() {}
|
|
|
|
};
|
|
|
|
class ISLavishSettingsInterface
|
|
{
|
|
public:
|
|
|
|
/* DEPRECATED, TO BE REMOVED IN NEAR FUTURE ISXDK */
|
|
virtual __declspec(deprecated) bool GetSetting(char *Filename, char *Set, char *Setting, char *buf, size_t buflen)=0;
|
|
virtual __declspec(deprecated) bool SetSetting(char *Filename, char *Set, char *Setting, char *Value)=0;
|
|
virtual __declspec(deprecated) bool GetSettingb(char *Filename, char *Set, char *Setting, bool &bValue)=0;
|
|
virtual __declspec(deprecated) bool GetSettingi(char *Filename, char *Set, char *Setting, int &iValue)=0;
|
|
virtual __declspec(deprecated) bool SetSettingi(char *Filename, char *Set, char *Setting, int iValue)=0;
|
|
virtual __declspec(deprecated) bool GetSettingf(char *Filename, char *Set, char *Setting, float &fValue)=0;
|
|
virtual __declspec(deprecated) bool SetSettingf(char *Filename, char *Set, char *Setting, float fValue)=0;
|
|
virtual __declspec(deprecated) bool IsSet(char *Filename, char *Set)=0;
|
|
virtual __declspec(deprecated) bool CreateSet(char *Filename, char *Set)=0;
|
|
virtual __declspec(deprecated) bool RemoveSet(char *Filename, char *Set)=0;
|
|
virtual __declspec(deprecated) bool RemoveSetting(char *Filename, char *Set, char *Setting)=0;
|
|
virtual __declspec(deprecated) unsigned int EnumSets(char *Filename, fSetEnumCallback Callback, void *pData)=0;
|
|
virtual __declspec(deprecated) unsigned int EnumSettings(char *Filename, char *Set, fSettingEnumCallback Callback, void *pData)=0;
|
|
|
|
virtual __declspec(deprecated) bool UnloadSettings(char *Filename)=0; // Use UnloadSet
|
|
virtual __declspec(deprecated) bool SaveSettings(char *Filename)=0; // Use ExportSet
|
|
|
|
/* NEW AND IMPROVED! */
|
|
virtual unsigned int OpenSettings(const char *Filename)=0;
|
|
|
|
virtual unsigned int FindFileSet(const char *Filename)=0;
|
|
virtual unsigned int FindSet(unsigned int &ParentSetGUID, const char *Name)=0;
|
|
virtual bool SaveFileSet(const char *Filename)=0;
|
|
|
|
virtual bool ExportSet(unsigned int &SetGUID, const char *Filename)=0;
|
|
virtual bool ImportToSet(unsigned int &SetGUID, const char *Filename)=0;
|
|
virtual bool CopySet(unsigned int &ToSetGUID, unsigned int FromSetGUID)=0;
|
|
virtual bool UnloadSet(unsigned int &SetGUID)=0;
|
|
virtual bool ClearSet(unsigned int &SetGUID)=0;
|
|
virtual bool SortSet(unsigned int &SetGUID)=0;
|
|
virtual unsigned int CreateSet(unsigned int &SetGUID, const char *Name)=0;
|
|
virtual bool GetSetName(unsigned int &SetGUID, char *buf, size_t buflen)=0;
|
|
virtual bool GetSetParent(unsigned int &SetGUID, unsigned int &ParentSetGUID)=0;
|
|
|
|
virtual bool RenameSetting(unsigned int &SetGUID, const char *Setting, const char *NewName)=0;
|
|
virtual bool RemoveSetting(unsigned int &SetGUID, const char *Setting)=0;
|
|
|
|
virtual bool AssertSetting(unsigned int &SetGUID, const char *Setting, const char *Value)=0;
|
|
virtual bool AssertSetting(unsigned int &SetGUID, const char *Setting, bool &bValue)=0;
|
|
virtual bool AssertSetting(unsigned int &SetGUID, const char *Setting, int iValue)=0;
|
|
virtual bool AssertSetting(unsigned int &SetGUID, const char *Setting, float &fValue)=0;
|
|
virtual bool AssertSetting(unsigned int &SetGUID, const char *Setting, unsigned int &ulValue)=0;
|
|
virtual bool AssertSetting(unsigned int &SetGUID, const char *Setting, __int64 &Value)=0;
|
|
|
|
virtual bool GetSetting(unsigned int &SetGUID, const char *Setting, char *buf, size_t buflen)=0;
|
|
virtual bool GetSetting(unsigned int &SetGUID, const char *Setting, bool &bValue)=0;
|
|
virtual bool GetSetting(unsigned int &SetGUID, const char *Setting, int &iValue)=0;
|
|
virtual bool GetSetting(unsigned int &SetGUID, const char *Setting, float &fValue)=0;
|
|
virtual bool GetSetting(unsigned int &SetGUID, const char *Setting, unsigned int &ulValue)=0;
|
|
virtual bool GetSetting(unsigned int &SetGUID, const char *Setting, __int64 &Value)=0;
|
|
|
|
virtual bool SetSetting(unsigned int &SetGUID, const char *Setting, const char *Value)=0;
|
|
virtual bool SetSetting(unsigned int &SetGUID, const char *Setting, int iValue)=0;
|
|
virtual bool SetSetting(unsigned int &SetGUID, const char *Setting, unsigned int &ulValue)=0;
|
|
virtual bool SetSetting(unsigned int &SetGUID, const char *Setting, float &fValue)=0;
|
|
virtual bool SetSetting(unsigned int &SetGUID, const char *Setting, __int64 &Value)=0;
|
|
|
|
virtual bool CreateComment(unsigned int &SetGUID, const char *Text)=0;
|
|
|
|
virtual unsigned int EnumSets(unsigned int &SetGUID, fSetEnumCallback Callback, void *pData)=0;
|
|
virtual unsigned int EnumSettings(unsigned int &SetGUID, fSettingEnumCallback Callback, void *pData)=0;
|
|
|
|
virtual void ISLavishSettingsInterface_00_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_01_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_02_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_03_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_04_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_05_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_06_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_07_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_08_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_09_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_10_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_11_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_12_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_13_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_14_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_15_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_16_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_17_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_18_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_19_Reserved() {}
|
|
virtual void ISLavishSettingsInterface_20_Reserved() {}
|
|
|
|
};
|
|
|
|
class ISIPCInterface
|
|
{
|
|
public:
|
|
// inter-process
|
|
virtual void Relay(const char *Session, const char *Command)=0;
|
|
virtual unsigned int GetSessionCount()=0;
|
|
virtual bool GetSessionName(unsigned int nSession, char *buf, size_t buflen) = 0;
|
|
|
|
virtual void ISIPCInterface_00_Reserved() {}
|
|
virtual void ISIPCInterface_01_Reserved() {}
|
|
virtual void ISIPCInterface_02_Reserved() {}
|
|
virtual void ISIPCInterface_03_Reserved() {}
|
|
virtual void ISIPCInterface_04_Reserved() {}
|
|
virtual void ISIPCInterface_05_Reserved() {}
|
|
|
|
};
|
|
|
|
class ISNavigationInterface
|
|
{
|
|
public:
|
|
virtual unsigned int LNavAddRegion(unsigned int ParentGUID, const char *Type, const char *Name, int BeginInclusive, int EndExclusive, char *argv[])=0;
|
|
virtual bool LNavRemoveRegion(unsigned int RegionGUID)=0;
|
|
|
|
virtual unsigned int LNavAddConnection(unsigned int FromGUID, unsigned int ToGUID, int BeginInclusive, int EndExclusive, char *argv[])=0;
|
|
virtual bool LNavRemoveConnection(unsigned int ConnectionGUID)=0;
|
|
|
|
virtual unsigned int LNavResolveFQN(const char *FQN, unsigned int FromGUID=0)=0;
|
|
|
|
virtual bool LNavImportXML(unsigned int ParentGUID, const char *Filename)=0;
|
|
virtual bool LNavExportXML(unsigned int RegionGUID, const char *Filename, bool OnlyChildren)=0;
|
|
|
|
virtual void ISNavigationInterface_00_Reserved() {}
|
|
virtual void ISNavigationInterface_01_Reserved() {}
|
|
virtual void ISNavigationInterface_02_Reserved() {}
|
|
virtual void ISNavigationInterface_03_Reserved() {}
|
|
virtual void ISNavigationInterface_04_Reserved() {}
|
|
virtual void ISNavigationInterface_05_Reserved() {}
|
|
virtual void ISNavigationInterface_06_Reserved() {}
|
|
virtual void ISNavigationInterface_07_Reserved() {}
|
|
virtual void ISNavigationInterface_08_Reserved() {}
|
|
virtual void ISNavigationInterface_09_Reserved() {}
|
|
virtual void ISNavigationInterface_10_Reserved() {}
|
|
virtual void ISNavigationInterface_11_Reserved() {}
|
|
virtual void ISNavigationInterface_12_Reserved() {}
|
|
virtual void ISNavigationInterface_13_Reserved() {}
|
|
virtual void ISNavigationInterface_14_Reserved() {}
|
|
virtual void ISNavigationInterface_15_Reserved() {}
|
|
virtual void ISNavigationInterface_16_Reserved() {}
|
|
virtual void ISNavigationInterface_17_Reserved() {}
|
|
virtual void ISNavigationInterface_18_Reserved() {}
|
|
virtual void ISNavigationInterface_19_Reserved() {}
|
|
virtual void ISNavigationInterface_20_Reserved() {}
|
|
|
|
};
|
|
|
|
class ISDisplayInterface
|
|
{
|
|
public:
|
|
// display
|
|
virtual bool GetDisplaySize(unsigned int &Height, unsigned int &Width)=0;
|
|
virtual bool GetPixel(int X, int Y, RGBCOLOR &Color)=0;
|
|
virtual bool GetPixels(int X, int Y, unsigned int nRows, unsigned int nColumns, RGBCOLOR **Rows)=0;
|
|
virtual bool GetDisplayRect(enum _D3DXIMAGE_FILEFORMAT format, bool front_buffer, RECT *optional_area, struct ID3DXBuffer **ppScreenshot)=0;
|
|
|
|
virtual void ISDisplayInterface_01_Reserved() {}
|
|
virtual void ISDisplayInterface_02_Reserved() {}
|
|
virtual void ISDisplayInterface_03_Reserved() {}
|
|
virtual void ISDisplayInterface_04_Reserved() {}
|
|
virtual void ISDisplayInterface_05_Reserved() {}
|
|
virtual void ISDisplayInterface_06_Reserved() {}
|
|
virtual void ISDisplayInterface_07_Reserved() {}
|
|
virtual void ISDisplayInterface_08_Reserved() {}
|
|
virtual void ISDisplayInterface_09_Reserved() {}
|
|
virtual void ISDisplayInterface_10_Reserved() {}
|
|
virtual void ISDisplayInterface_11_Reserved() {}
|
|
virtual void ISDisplayInterface_12_Reserved() {}
|
|
virtual void ISDisplayInterface_13_Reserved() {}
|
|
virtual void ISDisplayInterface_14_Reserved() {}
|
|
virtual void ISDisplayInterface_15_Reserved() {}
|
|
virtual void ISDisplayInterface_16_Reserved() {}
|
|
virtual void ISDisplayInterface_17_Reserved() {}
|
|
virtual void ISDisplayInterface_18_Reserved() {}
|
|
virtual void ISDisplayInterface_19_Reserved() {}
|
|
virtual void ISDisplayInterface_20_Reserved() {}
|
|
|
|
};
|
|
|
|
class ISLavishVMInterface
|
|
{
|
|
public:
|
|
/* LavishVM */
|
|
virtual bool IsAvailable()=0;
|
|
virtual bool TryInitialize()=0;
|
|
virtual bool RegisterLibrary(const char *Name,fGetAPI)=0;
|
|
virtual bool UnregisterLibrary(const char *Name)=0;
|
|
virtual bool Execute(const char *Domain, const char *AssemblyName, int argc=0, const char *argv[]=0)=0;
|
|
virtual bool UnloadDomain(const char *Name)=0;
|
|
|
|
virtual unsigned int EnumDomains(fDomainEnumCallback, void *pData)=0;
|
|
virtual bool IsDomainActive(const char *Name)=0;
|
|
|
|
/* Threading (including LavishVM) */
|
|
virtual void FrameLock()=0;
|
|
virtual void FrameUnlock()=0;
|
|
virtual bool FrameTryLock()=0;
|
|
virtual void FrameWait(bool bLock)=0;
|
|
};
|
|
|
|
class ISInterface : public ISLavishScriptInterface,
|
|
public ISServiceMasterInterface,
|
|
public ISServiceClientInterface,
|
|
public ISInputInterface,
|
|
public ISLavishSettingsInterface,
|
|
public ISIPCInterface,
|
|
public ISNavigationInterface,
|
|
public ISDisplayInterface,
|
|
public ISLavishVMInterface
|
|
{
|
|
public:
|
|
virtual unsigned int GetVersion()=0;
|
|
virtual unsigned int GetBuildNumber()=0;
|
|
|
|
virtual unsigned int GetExtensionSetGUID(const char *Extension)=0;
|
|
virtual unsigned int GetScriptSetGUID(const char *Script)=0;
|
|
virtual unsigned int CreateExtensionSet(const char *Extension)=0;
|
|
virtual unsigned int CreateScriptSet(const char *Script)=0;
|
|
|
|
virtual unsigned int GetGameSetGUID()=0;
|
|
virtual unsigned int GetProfileSetGUID()=0;
|
|
|
|
virtual bool LoadExtension(const char *Filename)=0;
|
|
virtual bool UnloadExtension(const char *Filename, bool &denied_by_extension)=0;
|
|
virtual bool IsExtensionLoaded(const char *Filename)=0;
|
|
|
|
// High Stealth is intended for temporarily increasing stealth while an application
|
|
// performs scanning and detection methods
|
|
virtual bool HighStealthEnabled()=0;
|
|
virtual void EnableHighStealth()=0;
|
|
virtual void DisableHighStealth()=0;
|
|
|
|
// paths
|
|
virtual char *GetInnerSpacePath(char *buffer, size_t buflen)=0;
|
|
virtual char *GetLogsPath(const char *extension_subdir, char *buffer, size_t buflen) = 0;
|
|
|
|
virtual char *GetSettingsPath(char *buffer, size_t buflen) = 0;
|
|
virtual char *GetNETProgramsPath(char *buffer, size_t buflen) = 0;
|
|
virtual char *GetExtensionsPath(char *buffer, size_t buflen) = 0;
|
|
virtual char *GetInterfacePath(char *buffer, size_t buflen) = 0;
|
|
virtual char *GetLavishScriptModulesPath(char *buffer, size_t buflen) = 0;
|
|
virtual char *GetScreenshotsPath(char *buffer, size_t buflen) = 0;
|
|
virtual char *GetScriptsPath(char *buffer, size_t buflen) = 0;
|
|
|
|
// hud
|
|
virtual bool AddElement(const char *Name, const char *Data, int X, int Y, unsigned int Color, const char *Group="Default")=0;
|
|
virtual bool RemoveElement(const char *Name)=0;
|
|
|
|
// console
|
|
virtual void ClearConsole()=0;
|
|
|
|
virtual void EnableStealth()=0;
|
|
virtual bool StealthEnabled()=0;
|
|
|
|
virtual void StoreInnerSpaceSettings() {};
|
|
|
|
|
|
|
|
virtual bool GetLavishScript2Environment_(unsigned int LS2MODULE_SDK_VERSION, void **ppEnvironment)=0;
|
|
bool GetLavishScript2Environment(unsigned int LS2MODULE_SDK_VERSION, void **ppEnvironment)
|
|
{
|
|
if (GetBuildNumber()>=5671)
|
|
return GetLavishScript2Environment_(LS2MODULE_SDK_VERSION,ppEnvironment);
|
|
return false;
|
|
}
|
|
|
|
virtual void ISInterface_01_Reserved() {}
|
|
virtual void ISInterface_02_Reserved() {}
|
|
virtual void ISInterface_03_Reserved() {}
|
|
virtual void ISInterface_04_Reserved() {}
|
|
virtual void ISInterface_05_Reserved() {}
|
|
virtual void ISInterface_06_Reserved() {}
|
|
virtual void ISInterface_07_Reserved() {}
|
|
virtual void ISInterface_08_Reserved() {}
|
|
virtual void ISInterface_09_Reserved() {}
|
|
virtual void ISInterface_10_Reserved() {}
|
|
virtual void ISInterface_11_Reserved() {}
|
|
virtual void ISInterface_12_Reserved() {}
|
|
virtual void ISInterface_13_Reserved() {}
|
|
virtual void ISInterface_14_Reserved() {}
|
|
virtual void ISInterface_15_Reserved() {}
|
|
virtual void ISInterface_16_Reserved() {}
|
|
virtual void ISInterface_17_Reserved() {}
|
|
virtual void ISInterface_18_Reserved() {}
|
|
virtual void ISInterface_19_Reserved() {}
|
|
virtual void ISInterface_20_Reserved() {}
|
|
};
|
|
|