3#ifndef ENGINE_CONSOLE_H
4#define ENGINE_CONSOLE_H
75 virtual float GetFloat(
unsigned Index)
const = 0;
76 virtual const char *
GetString(
unsigned Index)
const = 0;
93 virtual const char *
Name()
const = 0;
94 virtual const char *
Help()
const = 0;
95 virtual const char *
Params()
const = 0;
117 virtual void Register(
const char *pName,
const char *pParams,
int Flags,
FCommandCallback pfnFunc,
void *pUser,
const char *pHelp) = 0;
118 virtual void RegisterTemp(
const char *pName,
const char *pParams,
int Flags,
const char *pHelp) = 0;
125 virtual void ExecuteLine(
const char *pStr,
int ClientId,
bool InterpretSemicolons =
true) = 0;
126 virtual void ExecuteLineFlag(
const char *pStr,
int FlasgMask,
int ClientId,
bool InterpretSemicolons =
true) = 0;
127 virtual void ExecuteLineStroked(
int Stroke,
const char *pStr,
int ClientId,
bool InterpretSemicolons =
true) = 0;
virtual EAccessLevel GetAccessLevel() const =0
virtual const char * Name() const =0
virtual const char * Params() const =0
virtual ~ICommandInfo()=default
virtual int Flags() const =0
virtual const char * Help() const =0
IResult(int ClientId)
Definition console.h:69
virtual int GetInteger(unsigned Index) const =0
int NumArguments() const
Definition console.h:81
virtual float GetFloat(unsigned Index) const =0
int m_ClientId
Definition console.h:82
virtual void RemoveArgument(unsigned Index)=0
unsigned m_NumArgs
Definition console.h:66
virtual int GetVictim() const =0
virtual ~IResult()=default
virtual const char * GetString(unsigned Index) const =0
virtual ColorHSLA GetColor(unsigned Index, float DarkestLighting) const =0
virtual void DeregisterTemp(const char *pName)=0
static bool EmptyUnknownCommandCallback(const char *pCommand, void *pUser)
Definition console.h:108
virtual void StoreCommands(bool Store)=0
@ TEMPCMD_HELP_LENGTH
Definition console.h:34
@ FILE_RECURSION_LIMIT
Definition console.h:51
@ CLIENT_ID_NO_GAME
Definition console.h:49
@ CLIENT_ID_UNSPECIFIED
Definition console.h:47
@ TEMPCMD_PARAMS_LENGTH
Definition console.h:35
@ CLIENT_ID_GAME
Definition console.h:48
@ CMDLINE_LENGTH
Definition console.h:37
@ TEMPCMD_NAME_LENGTH
Definition console.h:33
virtual void ExecuteLineStroked(int Stroke, const char *pStr, int ClientId, bool InterpretSemicolons=true)=0
virtual const ICommandInfo * GetCommandInfo(const char *pName, int FlagMask, bool Temp)=0
virtual void InitChecksum(CChecksumData *pData) const =0
virtual void ParseArguments(int NumArgs, const char **ppArguments)=0
EAccessLevel
Definition console.h:55
@ USER
Definition console.h:59
@ MODERATOR
Definition console.h:57
@ ADMIN
Definition console.h:56
@ HELPER
Definition console.h:58
bool(* FUnknownCommandCallback)(const char *pCommand, void *pUser)
Definition console.h:104
virtual void ExecuteLine(const char *pStr, int ClientId, bool InterpretSemicolons=true)=0
void(* FChainCommandCallback)(IResult *pResult, void *pUserData, FCommandCallback pfnCallback, void *pCallbackUserData)
Definition console.h:103
virtual void Chain(const char *pName, FChainCommandCallback pfnChainFunc, void *pUser)=0
virtual int PossibleCommands(const char *pStr, int FlagMask, bool Temp, FPossibleCallback pfnCallback=EmptyPossibleCommandCallback, void *pUser=nullptr)=0
virtual void Print(int Level, const char *pFrom, const char *pStr, ColorRGBA PrintColor=gs_ConsoleDefaultColor) const =0
virtual void Register(const char *pName, const char *pParams, int Flags, FCommandCallback pfnFunc, void *pUser, const char *pHelp)=0
bool(* FCanUseCommandCallback)(int ClientId, const ICommandInfo *pCommand, void *pUser)
Definition console.h:105
static int ToLogLevelFilter(int ConsoleLevel)
Definition console.cpp:345
@ OUTPUT_LEVEL_ADDINFO
Definition console.h:27
@ OUTPUT_LEVEL_DEBUG
Definition console.h:28
@ OUTPUT_LEVEL_STANDARD
Definition console.h:26
static void EmptyPossibleCommandCallback(int Index, const char *pCmd, void *pUser)
Definition console.h:107
virtual bool ExecuteFile(const char *pFilename, int ClientId, bool LogFailure=false, int StorageType=IStorage::TYPE_ALL)=0
void(* FPossibleCallback)(int Index, const char *pCmd, void *pUser)
Definition console.h:101
virtual void RegisterTemp(const char *pName, const char *pParams, int Flags, const char *pHelp)=0
virtual void DeregisterTempAll()=0
virtual bool Cheated() const =0
virtual void SetTeeHistorianCommandCallback(FTeeHistorianCommandCallback pfnCallback, void *pUser)=0
void(* FCommandCallback)(IResult *pResult, void *pUserData)
Definition console.h:102
virtual void ExecuteLineFlag(const char *pStr, int FlasgMask, int ClientId, bool InterpretSemicolons=true)=0
virtual void SetUnknownCommandCallback(FUnknownCommandCallback pfnCallback, void *pUser)=0
virtual int FlagMask() const =0
virtual void SetFlagMask(int FlagMask)=0
virtual void SetCanUseCommandCallback(FCanUseCommandCallback pfnCallback, void *pUser)=0
virtual bool LineIsValid(const char *pStr)=0
static LEVEL ToLogLevel(int ConsoleLevel)
Definition console.cpp:330
virtual const ICommandInfo * FirstCommandInfo(int ClientId, int FlagMask) const =0
void(* FTeeHistorianCommandCallback)(int ClientId, int FlagMask, const char *pCmd, IResult *pResult, void *pUser)
Definition console.h:100
virtual const ICommandInfo * NextCommandInfo(const IConsole::ICommandInfo *pInfo, int ClientId, int FlagMask) const =0
IInterface()
Definition kernel.h:19
@ TYPE_ALL
Definition storage.h:27
std::unique_ptr< IConsole > CreateConsole(int FlagMask)
Definition console.cpp:1113
static constexpr ColorRGBA gs_ConsoleDefaultColor(1, 1, 1, 1)
#define MACRO_INTERFACE(Name)
Definition kernel.h:25