3#ifndef ENGINE_CONSOLE_H
4#define ENGINE_CONSOLE_H
77 virtual float GetFloat(
unsigned Index)
const = 0;
78 virtual const char *
GetString(
unsigned Index)
const = 0;
95 virtual const char *
Name()
const = 0;
96 virtual const char *
Help()
const = 0;
97 virtual const char *
Params()
const = 0;
102 typedef std::optional<std::vector<int>> (*FGetVictimsCommandCallback)(
int ClientId,
const char *pVictim,
void *pUser);
120 virtual void Register(
const char *pName,
const char *pParams,
int Flags,
FCommandCallback pfnFunc,
void *pUser,
const char *pHelp) = 0;
121 virtual void RegisterTemp(
const char *pName,
const char *pParams,
int Flags,
const char *pHelp) = 0;
128 virtual void ExecuteLine(
const char *pStr,
int ClientId,
bool InterpretSemicolons =
true) = 0;
129 virtual void ExecuteLineFlag(
const char *pStr,
int FlasgMask,
int ClientId,
bool InterpretSemicolons =
true) = 0;
130 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:71
virtual int GetInteger(unsigned Index) const =0
int NumArguments() const
Definition console.h:83
virtual float GetFloat(unsigned Index) const =0
int m_ClientId
Definition console.h:84
virtual void RemoveArgument(unsigned Index)=0
unsigned m_NumArgs
Definition console.h:68
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:111
virtual void StoreCommands(bool Store)=0
@ TEMPCMD_HELP_LENGTH
Definition console.h:36
@ FILE_RECURSION_LIMIT
Definition console.h:53
@ CLIENT_ID_NO_GAME
Definition console.h:51
@ CLIENT_ID_UNSPECIFIED
Definition console.h:49
@ TEMPCMD_PARAMS_LENGTH
Definition console.h:37
@ CLIENT_ID_GAME
Definition console.h:50
@ CMDLINE_LENGTH
Definition console.h:39
@ TEMPCMD_NAME_LENGTH
Definition console.h:35
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:57
@ USER
Definition console.h:61
@ MODERATOR
Definition console.h:59
@ ADMIN
Definition console.h:58
@ HELPER
Definition console.h:60
bool(* FUnknownCommandCallback)(const char *pCommand, void *pUser)
Definition console.h:107
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:106
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 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:108
static int ToLogLevelFilter(int ConsoleLevel)
Definition console.cpp:348
@ OUTPUT_LEVEL_ADDINFO
Definition console.h:29
@ OUTPUT_LEVEL_DEBUG
Definition console.h:30
@ OUTPUT_LEVEL_STANDARD
Definition console.h:28
static void EmptyPossibleCommandCallback(int Index, const char *pCmd, void *pUser)
Definition console.h:110
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:104
virtual void RegisterTemp(const char *pName, const char *pParams, int Flags, const char *pHelp)=0
virtual void SetGetVictimsCommandCallback(FGetVictimsCommandCallback pfnCallback, void *pUser)=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:105
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
std::optional< std::vector< int > >(* FGetVictimsCommandCallback)(int ClientId, const char *pVictim, void *pUser)
Definition console.h:102
virtual bool LineIsValid(const char *pStr)=0
static LEVEL ToLogLevel(int ConsoleLevel)
Definition console.cpp:333
virtual const ICommandInfo * FirstCommandInfo(int ClientId, int FlagMask) const =0
virtual void Print(int Level, const char *pFrom, const char *pStr, ColorRGBA PrintColor=CONSOLE_DEFAULT_COLOR) const =0
void(* FTeeHistorianCommandCallback)(int ClientId, int FlagMask, const char *pCmd, IResult *pResult, void *pUser)
Definition console.h:103
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:1159
static constexpr ColorRGBA CONSOLE_DEFAULT_COLOR
Definition console.h:16
#define MACRO_INTERFACE(Name)
Definition kernel.h:25