sourcepawn/jit/engine2.h
author Nicholas Hastings <skamonkey@gmail.com>
Wed Aug 14 14:20:57 2013 -0400 (2013-08-14)
changeset 4008 490b01aa0683
parent 2545 9cb1a1fefc2c
child 4013 6201c1180e0e
permissions -rw-r--r--
Updated some CS:GO gamedata.
     1 #ifndef _INCLUDE_SOURCEPAWN_ENGINE_2_H_
     2 #define _INCLUDE_SOURCEPAWN_ENGINE_2_H_
     3 
     4 #include <sp_vm_api.h>
     5 
     6 namespace SourcePawn
     7 {
     8 	/** 
     9 	 * @brief Outlines the interface a Virtual Machine (JIT) must expose
    10 	 */
    11 	class SourcePawnEngine2 : public ISourcePawnEngine2
    12 	{
    13 	public:
    14 		SourcePawnEngine2();
    15 	public:
    16 		unsigned int GetAPIVersion();
    17 		const char *GetEngineName();
    18 		const char *GetVersionString();
    19 		IPluginRuntime *LoadPlugin(ICompilation *co, const char *file, int *err);
    20 		SPVM_NATIVE_FUNC CreateFakeNative(SPVM_FAKENATIVE_FUNC callback, void *pData);
    21 		void DestroyFakeNative(SPVM_NATIVE_FUNC func);
    22 		IDebugListener *SetDebugListener(IDebugListener *listener);
    23 		void SetProfiler(IProfiler *profiler);
    24 		ICompilation *StartCompilation();
    25 		const char *GetErrorString(int err);
    26 		bool Initialize();
    27 		void Shutdown();
    28 		IPluginRuntime *CreateEmptyRuntime(const char *name, uint32_t memory);
    29 	public:
    30 		IProfiler *GetProfiler();
    31 	private:
    32 		IProfiler *m_Profiler;
    33 	};
    34 }
    35 
    36 extern SourcePawn::SourcePawnEngine2 g_engine2;
    37 
    38 #endif //_INCLUDE_SOURCEPAWN_ENGINE_2_H_