00001 /** 00002 * vim: set ts=4 : 00003 * ============================================================================= 00004 * SourceMod SDKTools Extension 00005 * Copyright (C) 2004-2009 AlliedModders LLC. All rights reserved. 00006 * ============================================================================= 00007 * 00008 * This program is free software; you can redistribute it and/or modify it under 00009 * the terms of the GNU General Public License, version 3.0, as published by the 00010 * Free Software Foundation. 00011 * 00012 * This program is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00014 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00015 * details. 00016 * 00017 * You should have received a copy of the GNU General Public License along with 00018 * this program. If not, see <http://www.gnu.org/licenses/>. 00019 * 00020 * As a special exception, AlliedModders LLC gives you permission to link the 00021 * code of this program (as well as its derivative works) to "Half-Life 2," the 00022 * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software 00023 * by the Valve Corporation. You must obey the GNU General Public License in 00024 * all respects for all other code used. Additionally, AlliedModders LLC grants 00025 * this exception to all derivative works. AlliedModders LLC defines further 00026 * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), 00027 * or <http://www.sourcemod.net/license.php>. 00028 * 00029 * Version: $Id$ 00030 */ 00031 00032 #ifndef _INCLUDE_SMEXT_I_SDKTOOLS_H_ 00033 #define _INCLUDE_SMEXT_I_SDKTOOLS_H_ 00034 00035 #include <IShareSys.h> 00036 00037 #define SMINTERFACE_SDKTOOLS_NAME "ISDKTools" 00038 #define SMINTERFACE_SDKTOOLS_VERSION 2 00039 00040 class IServer; 00041 00042 /** 00043 * @brief SDKTools shared API 00044 * @file ISDKTools.h 00045 */ 00046 00047 namespace SourceMod 00048 { 00049 /** 00050 * @brief SDKTools API. 00051 */ 00052 class ISDKTools : public SMInterface 00053 { 00054 public: 00055 virtual const char *GetInterfaceName() = 0; 00056 virtual unsigned int GetInterfaceVersion() = 0; 00057 public: 00058 /** 00059 * @brief Returns a pointer to IServer if one was found. 00060 * 00061 * @return IServer pointer, or NULL if SDKTools was unable to find one. 00062 */ 00063 virtual IServer* GetIServer() = 0; 00064 00065 /** 00066 * @brief Returns a pointer to game's CGameRules class. 00067 * 00068 * @return CGameRules pointer or NULL if not found. 00069 */ 00070 virtual void* GetGameRules() = 0; 00071 }; 00072 } 00073 00074 #endif /* _INCLUDE_SMEXT_I_SDKTOOLS_H_ */
1.7.1