core/sm_globals.h
author Borja Ferrer <faluco@alliedmods.net>
Thu Jan 11 01:11:24 2007 +0000 (2007-01-11)
changeset 281 830ca16e6d84
parent 252 ce166c465bad
child 324 e23aca731e37
permissions -rw-r--r--
logger gets initialized now
dvander@160
     1
#ifndef _INCLUDE_SOURCEMOD_GLOBALS_H_
dvander@160
     2
#define _INCLUDE_SOURCEMOD_GLOBALS_H_
dvander@160
     3
dvander@162
     4
/**
dvander@162
     5
 * @file Contains global headers that most files in SourceMod will need.
dvander@162
     6
 */
dvander@162
     7
dvander@160
     8
#include <sp_vm_types.h>
dvander@160
     9
#include <sp_vm_api.h>
dvander@160
    10
#include "sm_platform.h"
dvander@160
    11
#include "interfaces/IShareSys.h"
dvander@160
    12
dvander@160
    13
using namespace SourcePawn;
dvander@160
    14
using namespace SourceMod;
dvander@160
    15
dvander@229
    16
/** 
dvander@229
    17
 * @brief Any class deriving from this will be automatically initiated/shutdown by SourceMod
dvander@229
    18
 */
dvander@229
    19
class SMGlobalClass
dvander@229
    20
{
dvander@229
    21
	friend class SourceModBase;
dvander@229
    22
public:
dvander@229
    23
	SMGlobalClass();
dvander@229
    24
public:
dvander@229
    25
	/**
dvander@229
    26
	 * @brief Called when SourceMod is initially loading
dvander@229
    27
	 */
dvander@229
    28
	virtual void OnSourceModStartup(bool late)
dvander@229
    29
	{
dvander@229
    30
	}
dvander@229
    31
dvander@229
    32
	/**
dvander@229
    33
	 * @brief Called after all global classes have initialized
dvander@229
    34
	 */
dvander@229
    35
	virtual void OnSourceModAllInitialized()
dvander@229
    36
	{
dvander@229
    37
	}
dvander@229
    38
dvander@229
    39
	/**
dvander@229
    40
	 * @brief Called when SourceMod is shutting down
dvander@229
    41
	 */
dvander@229
    42
	virtual void OnSourceModShutdown()
dvander@229
    43
	{
dvander@229
    44
	}
faluco@281
    45
faluco@281
    46
	/**
faluco@281
    47
	* @brief Called after SourceMod is completely shutted down
faluco@281
    48
	*/
faluco@281
    49
	virtual void OnSourceModAllShutdown()
faluco@281
    50
	{
faluco@281
    51
	}
dvander@229
    52
private:
dvander@229
    53
	SMGlobalClass *m_pGlobalClassNext;
dvander@229
    54
	static SMGlobalClass *head;
dvander@229
    55
};
dvander@229
    56
dvander@160
    57
extern ISourcePawnEngine *g_pSourcePawn;
dvander@160
    58
extern IVirtualMachine *g_pVM;
dvander@252
    59
extern IdentityToken_t *g_pCoreIdent;
dvander@160
    60
dvander@233
    61
#include "sm_autonatives.h"
dvander@233
    62
dvander@160
    63
#endif //_INCLUDE_SOURCEMOD_GLOBALS_H_