32 #ifndef _INCLUDE_SOURCEMOD_INATIVEINVOKER_H_
33 #define _INCLUDE_SOURCEMOD_INATIVEINVOKER_H_
41 #include <sp_vm_api.h>
43 #define SMINTERFACE_NINVOKE_NAME "INativeInterface"
44 #define SMINTERFACE_NINVOKE_VERSION 1
46 #define NINVOKE_DEFAULT_MEMORY 16384
69 virtual bool Start(SourcePawn::IPluginContext *pContext,
const char *name) = 0;
78 virtual int Invoke(cell_t *result) = 0;
96 virtual SourcePawn::IPluginRuntime *
CreateRuntime(
const char *name,
size_t bytes) = 0;
Factory for dealing with native invocations.
Definition: INativeInvoker.h:84
Defines the Share System, responsible for shared resources and dependencies.
virtual ~INativeInvoker()
Virtual destructor - use delete to free this.
Definition: INativeInvoker.h:56
Definition: INativeInvoker.h:50
Defines the base functionality required by a shared interface.
Definition: IShareSys.h:92
Definition: IAdminSystem.h:63
virtual INativeInvoker * CreateInvoker()=0
Creates an object that can be used to invoke a single native code.
virtual SourcePawn::IPluginRuntime * CreateRuntime(const char *name, size_t bytes)=0
Creates a virtual plugin. This can be used as an environment to invoke natives.
virtual int Invoke(cell_t *result)=0
Invokes the native. The preparation state is cleared immediately, meaning that this object can be re-...
virtual bool Start(SourcePawn::IPluginContext *pContext, const char *name)=0
Begins a native call.