• Main Page
  • Related Pages
  • Classes
  • Files
  • File List
  • File Members

public/extensions/ISDKTools.h

Go to the documentation of this file.
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_ */

Generated on Wed Dec 7 2011 18:50:02 for SourceMod SDK by  doxygen 1.7.1