public/sample_ext/extension.h
author Scott Ehlert <ds@alliedmods.net>
Sun Jul 15 08:00:26 2007 +0000 (2007-07-15)
changeset 1116 40cc5e9f0f1b
parent 757 b799caa9a190
child 1226 478550a4d5ec
permissions -rw-r--r--
Removed strange debugging code
ds@757
     1
/**
ds@757
     2
 * vim: set ts=4 :
ds@757
     3
 * ===============================================================
ds@757
     4
 * Sample SourceMod Extension
ds@757
     5
 * Copyright (C) 2004-2007 AlliedModders LLC. All rights reserved.
ds@757
     6
 * ===============================================================
ds@757
     7
 *
ds@757
     8
 * This program is free software; you can redistribute it and/or
ds@757
     9
 * modify it under the terms of the GNU General Public License
ds@757
    10
 * as published by the Free Software Foundation; either version 2
ds@757
    11
 * of the License, or (at your option) any later version.
ds@757
    12
 * This program is distributed in the hope that it will be useful,
ds@757
    13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ds@757
    14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
ds@757
    15
 * GNU General Public License for more details.
ds@757
    16
 * 
ds@757
    17
 * You should have received a copy of the GNU General Public License
ds@757
    18
 * along with this program; if not, write to the Free Software
ds@757
    19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
ds@757
    20
 *
ds@757
    21
 * Version: $Id$
ds@757
    22
 */
ds@757
    23
dvander@324
    24
#ifndef _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
dvander@324
    25
#define _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
dvander@324
    26
dvander@372
    27
/**
dvander@372
    28
 * @file extension.h
dvander@372
    29
 * @brief Sample extension code header.
dvander@372
    30
 */
dvander@372
    31
dvander@324
    32
#include "smsdk_ext.h"
dvander@324
    33
dvander@372
    34
dvander@324
    35
/**
dvander@324
    36
 * @brief Sample implementation of the SDK Extension.
dvander@324
    37
 * Note: Uncomment one of the pre-defined virtual functions in order to use it.
dvander@324
    38
 */
dvander@324
    39
class Sample : public SDKExtension
dvander@324
    40
{
dvander@324
    41
public:
dvander@324
    42
	/**
dvander@324
    43
	 * @brief This is called after the initial loading sequence has been processed.
dvander@324
    44
	 *
dvander@324
    45
	 * @param error		Error message buffer.
ds@757
    46
	 * @param maxlength	Size of error message buffer.
dvander@324
    47
	 * @param late		Whether or not the module was loaded after map load.
dvander@324
    48
	 * @return			True to succeed loading, false to fail.
dvander@324
    49
	 */
ds@757
    50
	//virtual bool SDK_OnLoad(char *error, size_t maxlength, bool late);
dvander@324
    51
	
dvander@324
    52
	/**
dvander@324
    53
	 * @brief This is called right before the extension is unloaded.
dvander@324
    54
	 */
dvander@324
    55
	//virtual void SDK_OnUnload();
dvander@324
    56
dvander@324
    57
	/**
dvander@324
    58
	 * @brief This is called once all known extensions have been loaded.
dvander@324
    59
	 * Note: It is is a good idea to add natives here, if any are provided.
dvander@324
    60
	 */
dvander@324
    61
	//virtual void SDK_OnAllLoaded();
dvander@324
    62
dvander@324
    63
	/**
dvander@324
    64
	 * @brief Called when the pause state is changed.
dvander@324
    65
	 */
dvander@324
    66
	//virtual void SDK_OnPauseChange(bool paused);
dvander@324
    67
dvander@324
    68
	/**
dvander@324
    69
	 * @brief this is called when Core wants to know if your extension is working.
dvander@324
    70
	 *
dvander@324
    71
	 * @param error		Error message buffer.
ds@757
    72
	 * @param maxlength	Size of error message buffer.
dvander@324
    73
	 * @return			True if working, false otherwise.
dvander@324
    74
	 */
ds@757
    75
	//virtual bool QueryRunning(char *error, size_t maxlength);
dvander@324
    76
public:
dvander@324
    77
#if defined SMEXT_CONF_METAMOD
dvander@324
    78
	/**
ds@757
    79
	 * @brief Called when Metamod is attached, before the extension version is called.
ds@757
    80
	 *
ds@757
    81
	 * @param error			Error buffer.
ds@757
    82
	 * @param maxlength		Maximum size of error buffer.
ds@757
    83
	 * @param late			Whether or not Metamod considers this a late load.
ds@757
    84
	 * @return				True to succeed, false to fail.
dvander@324
    85
	 */
ds@757
    86
	//virtual bool SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlength, bool late);
dvander@324
    87
ds@757
    88
	/**
ds@757
    89
	 * @brief Called when Metamod is detaching, after the extension version is called.
ds@757
    90
	 * NOTE: By default this is blocked unless sent from SourceMod.
ds@757
    91
	 *
ds@757
    92
	 * @param error			Error buffer.
ds@757
    93
	 * @param maxlength		Maximum size of error buffer.
ds@757
    94
	 * @return				True to succeed, false to fail.
ds@757
    95
	 */
ds@757
    96
	//virtual bool SDK_OnMetamodUnload(char *error, size_t maxlength);
ds@757
    97
ds@757
    98
	/**
ds@757
    99
	 * @brief Called when Metamod's pause state is changing.
ds@757
   100
	 * NOTE: By default this is blocked unless sent from SourceMod.
ds@757
   101
	 *
ds@757
   102
	 * @param paused		Pause state being set.
ds@757
   103
	 * @param error			Error buffer.
ds@757
   104
	 * @param maxlength		Maximum size of error buffer.
ds@757
   105
	 * @return				True to succeed, false to fail.
ds@757
   106
	 */
ds@757
   107
	//virtual bool SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength);
dvander@324
   108
#endif
dvander@324
   109
};
dvander@324
   110
ds@757
   111
#endif // _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_