|
VoltMod
C++23 framework for CS2 server plugins
|
#include <IPluginContext.hpp>
Inheritance diagram for VoltMod::IPluginContext:Public Member Functions | |
| virtual std::string_view | Name () const =0 |
| virtual std::string_view | Version () const =0 |
| virtual void * | EngineInterface (const char *version) const =0 |
| virtual void * | ServerInterface (const char *version) const =0 |
| virtual std::string_view | BaseDir () const =0 |
| virtual KHook::IKHook * | HookDispatcher () const =0 |
| virtual IPluginEvents & | Events ()=0 |
| virtual IPluginServices & | Services ()=0 |
| virtual IPluginLanguages & | Languages ()=0 |
| virtual IPluginAddons & | Addons ()=0 |
| virtual IPluginGameData * | GameData () const =0 |
| virtual bool | RegisterCommand (std::string_view name)=0 |
| virtual bool | IsCommandRegistered (std::string_view name) const =0 |
| virtual void | WriteLog (uint8_t level, std::string_view text)=0 |
| virtual uint8_t | MinLogLevel () const =0 |
| virtual uint64_t | SchemaLayoutStamp () const =0 |
| virtual bool | SchemaVerified () const =0 |
Protected Member Functions | |
| ~IPluginContext ()=default | |
One plugin's view of the host. Everything reachable from it is host-owned and outlives the plugin. Game thread only.
Definition at line 17 of file IPluginContext.hpp.
|
protecteddefault |
|
pure virtual |
Implemented in VoltMod::PluginContext.
|
pure virtual |
The absolute csgo directory that relative paths resolve against.
Implemented in VoltMod::PluginContext.
An engine interface by its exact version name, or null.
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::Internal::OpenUnsafe().
|
pure virtual |
Implemented in VoltMod::PluginContext.
|
pure virtual |
Null when the host resolved no gamedata.
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::Internal::OpenUnsafe().
|
pure virtual |
Each module has its own KHook::__exported__khook; a plugin seeds it from this before hooking.
Implemented in VoltMod::PluginContext.
|
pure virtual |
True while any plugin, this one included, or the host holds name.
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::CommandRouter::IsForeign().
|
pure virtual |
Implemented in VoltMod::PluginContext.
Lines below this are dropped; volt log <name> <level> changes it.
Implemented in VoltMod::PluginContext.
|
pure virtual |
The plugin's name: its manifest name and directory under addons/voltmod/plugins/.
Implemented in VoltMod::PluginContext.
False when another plugin holds name, which the host logs naming both. Released with the plugin.
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::CommandRouter::Add().
The hash of the baked schema layout the host compared with the live game.
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::Internal::CheckSchema().
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::Internal::CheckSchema().
A game server interface by its exact version name, or null.
Implemented in VoltMod::PluginContext.
Referenced by VoltMod::Internal::OpenUnsafe().
|
pure virtual |
Implemented in VoltMod::PluginContext.
|
pure virtual |
Implemented in VoltMod::PluginContext.
|
pure virtual |
Print one line under this plugin's logTag. level is a LogLevel.
Implemented in VoltMod::PluginContext.