ISmmPluginExt.h File Reference

Definitions for extended plugin loading. More...

#include <stddef.h>

Go to the source code of this file.


namespace  SourceMM


class  SourceMM::ISmmFailPlugin
struct  MetamodVersionInfo
 Contains version information. More...
struct  MetamodLoaderInfo
 Contains information about loading a plugin. More...


#define METAMOD_PLAPI_NAME   "ISmmPlugin"
#define METAMOD_FAIL_API_V1   7
#define METAMOD_FAIL_API_V2   14


typedef int SourceMM::PluginId
 Used to uniquely identify plugins.
typedef METAMOD_PLUGIN *(* METAMOD_FN_LOAD )(const MetamodVersionInfo *mvi, const MetamodLoaderInfo *mli)
 If a function of this type is exposed as "CreateInterface_MMS", then Metamod:Source will attempt to call this function before calling CreateInterface. If this function returns a valid ISmmPlugin pointer, then CreateInterface will not be called.
typedef void(* METAMOD_FN_UNLOAD )()
 If a function of this type is exposed as "UnloadInterface_MMS", then Metamod:Source will attempt to call this function after calling ISmmAPI::Unload(), and before closing the library. This lets loader plugins clean up before exiting.
typedef void *(* METAMOD_FN_ORIG_LOAD )(const char *, int *)
 Original type of load function. CreateInterfaceFn from Valve.

Detailed Description

Provides an alternate method for loading plugins, without needing to include the default headers and all their Half-Life baggage.

Definition in file ISmmPluginExt.h.

Define Documentation

#define METAMOD_FAIL_API_V1   7

Minimum API version to detect for V1

Definition at line 58 of file ISmmPluginExt.h.

#define METAMOD_FAIL_API_V2   14

Minimum API version to detect for V2

Definition at line 59 of file ISmmPluginExt.h.

#define METAMOD_PLAPI_NAME   "ISmmPlugin"

Name of the plugin interface

Definition at line 46 of file ISmmPluginExt.h.


Version of this header file

Definition at line 45 of file ISmmPluginExt.h.


Episode 1 Source Engine (second major SDK)

Definition at line 42 of file ISmmPluginExt.h.


Orange Box Source Engine (third major SDK)

Definition at line 43 of file ISmmPluginExt.h.


Original Source Engine (used by The Ship)

Definition at line 41 of file ISmmPluginExt.h.


Could not determine the engine version

Definition at line 40 of file ISmmPluginExt.h.

Typedef Documentation

This is useful for implementing a mini-loader plugin for multiple versions.

mvi MetamodVersionInfo structure.
mli MetamodLoaderInfo structure.
ISmmAPI pointer, or NULL if none.

Definition at line 135 of file ISmmPluginExt.h.

typedef void*(* METAMOD_FN_ORIG_LOAD)(const char *, int *)

Plugins will expose this as "CreateInterface".

Definition at line 154 of file ISmmPluginExt.h.

typedef void(* METAMOD_FN_UNLOAD)()

Note: This function will be ignored unless CreateInterfce_MMS was exposed. It may be called even if ISmmAPI::Unload() could not be called.

Definition at line 147 of file ISmmPluginExt.h.

Generated on Mon Feb 18 18:10:28 2008 for Metamod:Source by  doxygen 1.5.5