core/interfaces/IPluginSys.h
changeset 177 d29ade52d953
parent 176 c1699993453c
child 185 5e0987d38ee0
     1.1 --- a/core/interfaces/IPluginSys.h	Sat Nov 11 05:49:52 2006 +0000
     1.2 +++ b/core/interfaces/IPluginSys.h	Sat Nov 11 11:10:24 2006 +0000
     1.3 @@ -11,6 +11,8 @@
     1.4  
     1.5  namespace SourceMod
     1.6  {
     1.7 +	class IPlugin;
     1.8 +
     1.9  	/** 
    1.10  	 * @brief Encapsulates plugin public information.
    1.11  	 */
    1.12 @@ -48,39 +50,7 @@
    1.13  		PluginType_Global,			/* Plugin will never be unloaded or updated */
    1.14  	};
    1.15  
    1.16 -
    1.17 -	class IPlugin;
    1.18 -
    1.19 -
    1.20 -	/**
    1.21 -	 * @brief Encapsulates a basic function call.
    1.22 -	 * NOTE: Function calls must be atomic to one execution context.
    1.23 -	 * NOTE: This object should not be deleted.  It lives for the lifetime of the plugin.
    1.24 -	 */
    1.25 -	class IPluginFunction
    1.26 -	{
    1.27 -	public:
    1.28 -		virtual ~IPluginFunction()
    1.29 -		{
    1.30 -		}
    1.31 -
    1.32 -		/**
    1.33 -		 * @brief Executes the function with the given parameter array.
    1.34 -		 * Parameters are read in forward order (i.e. index 0 is parameter #1)
    1.35 -		 *
    1.36 -		 * @param param			Array of cell parameters.
    1.37 -		 * @param num_params	Number of parameters to push.
    1.38 -		 * @param result		Pointer to store result of function on return.
    1.39 -		 * @return				SourcePawn error code (if any).
    1.40 -		 */
    1.41 -		virtual int CallFunction(const cell_t *params, unsigned int num_params, cell_t *result) =0;
    1.42 -
    1.43 -		/**
    1.44 -		 * @brief Returns which plugin this function belongs to.
    1.45 -		 */
    1.46 -		virtual IPlugin *GetParentPlugin() =0;
    1.47 -	};
    1.48 -
    1.49 +	class IPluginFunction;
    1.50  
    1.51  	/**
    1.52  	 * @brief Encapsulates a run-time plugin as maintained by SourceMod.