1
0
mirror of https://github.com/alliedmodders/metamod-source.git synced 2025-01-19 08:52:34 +01:00

made the headers a bit more doxygen friendly

--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40659
This commit is contained in:
David Anderson 2008-02-18 23:11:25 +00:00
parent f6075e8893
commit 2113dc8ad4
5 changed files with 228 additions and 202 deletions

View File

@ -1,4 +1,4 @@
/** /*
* vim: set ts=4 : * vim: set ts=4 :
* ====================================================== * ======================================================
* Metamod:Source * Metamod:Source
@ -60,6 +60,9 @@ namespace SourceMM
Pl_Running=0, Pl_Running=0,
}; };
/**
* @brief Programmatic management of the "loaded plugin" list.
*/
class ISmmPluginManager class ISmmPluginManager
{ {
public: public:
@ -68,20 +71,20 @@ namespace SourceMM
* then the plugin is considered to be "hot" - it might refuse its own load later! * then the plugin is considered to be "hot" - it might refuse its own load later!
* Also, a hot plugin might not have an error message. * Also, a hot plugin might not have an error message.
* *
* @param file String containing file name * @param file String containing file name.
* @param source Specifies who loaded the plugin * @param source Specifies who loaded the plugin.
* @param status Status of the plugin * @param already Whether or not the plugin was already loaded.
* @param ismm Pointer to Smm API * @param error String buffer for error messages.
* @param error String buffer for error messages * @param maxlen Maximum length of buffer.
* @param maxlen Maximum length of buffer * @return Id of plugin.
* @return Id of plugin
*/ */
virtual PluginId Load(const char *file, PluginId source, bool &already, char *error, size_t maxlen) =0; virtual PluginId Load(const char *file, PluginId source, bool &already, char *error, size_t maxlen) =0;
/** /**
* @brief Unloads a plugin * @brief Unloads a plugin.
* *
* @param id Id of plugin * @param id Id of plugin
* @param force True to forcefully unload, false to let plugin opt-out.
* @param error String buffer for error messages * @param error String buffer for error messages
* @param maxlen Maximum length of buffer * @param maxlen Maximum length of buffer
* @return True on success, false otherwise * @return True on success, false otherwise
@ -102,7 +105,6 @@ namespace SourceMM
* @brief Unpauses a plugin * @brief Unpauses a plugin
* *
* @param id Id of plugin * @param id Id of plugin
* @param force If true, forces the plugin to unload
* @param error String buffer for error messages * @param error String buffer for error messages
* @param maxlen Maximum length of buffer * @param maxlen Maximum length of buffer
* @return True on success, false otherwise * @return True on success, false otherwise
@ -132,7 +134,7 @@ namespace SourceMM
* *
* @param id Id of plugin * @param id Id of plugin
* @param error Message buffer * @param error Message buffer
* @param maxlen Size of error buffer * @param maxlength Size of error buffer
* @return Status value * @return Status value
*/ */
virtual bool QueryRunning(PluginId id, char *error, size_t maxlength) =0; virtual bool QueryRunning(PluginId id, char *error, size_t maxlength) =0;

View File

@ -1,4 +1,4 @@
/** /*
* vim: set ts=4 : * vim: set ts=4 :
* ====================================================== * ======================================================
* Metamod:Source * Metamod:Source
@ -29,7 +29,7 @@
#define _INCLUDE_ISMM_API_H #define _INCLUDE_ISMM_API_H
/** /**
* @brief External API interface * @brief Core API calls that are provided to plugins.
* @file ISmmAPI.h * @file ISmmAPI.h
*/ */
@ -57,6 +57,9 @@ namespace SourceMM
class ISmmPlugin; class ISmmPlugin;
class IMetamodListener; class IMetamodListener;
/**
* The core API that Metamod:Source provides to plugins.
*/
class ISmmAPI class ISmmAPI
{ {
public: public:
@ -196,6 +199,7 @@ namespace SourceMM
* @param maxlength Maximum length of iface buffer. Must be at least * @param maxlength Maximum length of iface buffer. Must be at least
* strlen(iface)+4 chars. * strlen(iface)+4 chars.
* @return The newly incremented iface version number. * @return The newly incremented iface version number.
* @deprecated Use InterfaceSearch() or VInterfaceMatch instead.
*/ */
virtual int FormatIface(char iface[], unsigned int maxlength) =0; virtual int FormatIface(char iface[], unsigned int maxlength) =0;
@ -324,6 +328,7 @@ namespace SourceMM
* @return Highest interface version of IServerPluginCallbacks. * @return Highest interface version of IServerPluginCallbacks.
* Returns 0 if SourceMM's VSP listener isn't * Returns 0 if SourceMM's VSP listener isn't
* currently enabled. * currently enabled.
* @deprecated Use GetVSPInfo() instead.
*/ */
virtual int GetVSPVersion() =0; virtual int GetVSPVersion() =0;
@ -343,7 +348,7 @@ namespace SourceMM
* This is useful for late-loading plugins which need to decide whether * This is useful for late-loading plugins which need to decide whether
* to add a listener or not (or need to get the pointer at all). * to add a listener or not (or need to get the pointer at all).
* *
* @param Optional pointer to store the VSP version. * @param pVersion Optional pointer to store the VSP version.
* @return IServerPluginCallbacks pointer, or NULL if an * @return IServerPluginCallbacks pointer, or NULL if an
* IMetamodListener event has yet to occur for * IMetamodListener event has yet to occur for
* EnableVSPListener(). * EnableVSPListener().

View File

@ -1,4 +1,4 @@
/** /*
* vim: set ts=4 : * vim: set ts=4 :
* ====================================================== * ======================================================
* Metamod:Source * Metamod:Source
@ -29,8 +29,9 @@
#define _INCLUDE_ISMM_PLUGIN_H #define _INCLUDE_ISMM_PLUGIN_H
/** /**
* @brief Plugin API interface * @brief Plugin API interface.
* @file ISmmPlugin.h * @file ISmmPlugin.h These are callbacks that plugins can implement without hooks.
* The pure-virtual ISmmPlugin callbacks must be implemented for the load to load.
*/ */
#include <interface.h> #include <interface.h>
@ -421,6 +422,15 @@ using namespace SourceMM;
#define PL_EXPOSURE CreateInterface #define PL_EXPOSURE CreateInterface
#define PL_EXPOSURE_C "CreateInterface" #define PL_EXPOSURE_C "CreateInterface"
/**
* @brief Exposes the plugin to the MM:S loader.
*
* @param name Deprecated - should be a variable name (like name).
* @param var Name of the variable that contains the singleton.
* This macro automatically takes the address of it, so
* you should not pass a pointer to your plugin's
* singleton.
*/
#define PLUGIN_EXPOSE(name, var) \ #define PLUGIN_EXPOSE(name, var) \
ISmmAPI *g_SMAPI = NULL; \ ISmmAPI *g_SMAPI = NULL; \
ISmmPlugin *g_PLAPI = NULL; \ ISmmPlugin *g_PLAPI = NULL; \
@ -433,12 +443,20 @@ using namespace SourceMM;
return NULL; \ return NULL; \
} }
/**
* @brief This should be in one of your header files, if you wish
* to use values like g_SHPtr in other files.
*/
#define PLUGIN_GLOBALVARS() \ #define PLUGIN_GLOBALVARS() \
extern SourceHook::ISourceHook *g_SHPtr; \ extern SourceHook::ISourceHook *g_SHPtr; \
extern ISmmAPI *g_SMAPI; \ extern ISmmAPI *g_SMAPI; \
extern ISmmPlugin *g_PLAPI; \ extern ISmmPlugin *g_PLAPI; \
extern PluginId g_PLID; extern PluginId g_PLID;
/**
* @brief This should be the first line in your Load callback.
*/
#define PLUGIN_SAVEVARS() \ #define PLUGIN_SAVEVARS() \
g_SMAPI = ismm; \ g_SMAPI = ismm; \
g_SHPtr = static_cast<SourceHook::ISourceHook *>(ismm->MetaFactory(MMIFACE_SOURCEHOOK, NULL, NULL)); \ g_SHPtr = static_cast<SourceHook::ISourceHook *>(ismm->MetaFactory(MMIFACE_SOURCEHOOK, NULL, NULL)); \

View File

@ -1,4 +1,4 @@
/** /*
* vim: set ts=4 : * vim: set ts=4 :
* ====================================================== * ======================================================
* Metamod:Source * Metamod:Source
@ -31,9 +31,10 @@
#include <stddef.h> #include <stddef.h>
/** /**
* @file ISmmPluginExt.h Definitions for extended plugin exposure syntax. * @file ISmmPluginExt.h Provides an alternate method for loading plugins,
* @brief Provides an alternate method for loading plugins, without needing to * without needing to include the default headers and all their Half-Life baggage.
* include the default headers and all their Half-Life baggage. *
* @brief Definitions for extended plugin loading.
*/ */
#define SOURCE_ENGINE_UNKNOWN 0 /**< Could not determine the engine version */ #define SOURCE_ENGINE_UNKNOWN 0 /**< Could not determine the engine version */

View File

@ -5,9 +5,9 @@
#define SVN_PRODUCT_VERSION "1.6.0" #define SVN_PRODUCT_VERSION "1.6.0"
#define SVN_REVISION 653 #define SVN_REVISION 655
#define SVN_REVISION_STRING "653" #define SVN_REVISION_STRING "655"
#define SVN_FILE_VERSION 1,6,0,653 #define SVN_FILE_VERSION 1,6,0,655
#define SVN_FILE_VERSION_STRING "1.6.0.653" #define SVN_FILE_VERSION_STRING "1.6.0.655"
#endif //_INCLUDE_SVN_VERSION_H_ #endif //_INCLUDE_SVN_VERSION_H_