added ICallWrapper destruction
authorDavid Anderson <dvander@alliedmods.net>
Sat Jun 16 01:34:41 2007 +0000 (2007-06-16)
changeset 9425a930535b6d0
parent 941 c66657809b44
child 943 a4fa40b1a151
added ICallWrapper destruction
extensions/bintools/CallWrapper.cpp
extensions/bintools/CallWrapper.h
public/extensions/IBinTools.h
     1.1 --- a/extensions/bintools/CallWrapper.cpp	Sat Jun 16 01:34:05 2007 +0000
     1.2 +++ b/extensions/bintools/CallWrapper.cpp	Sat Jun 16 01:34:41 2007 +0000
     1.3 @@ -68,6 +68,11 @@
     1.4  	g_SPEngine->ExecFree(m_Addrs[ADDR_CODEBASE]);
     1.5  }
     1.6  
     1.7 +void CallWrapper::Destroy()
     1.8 +{
     1.9 +	delete this;
    1.10 +}
    1.11 +
    1.12  CallConvention CallWrapper::GetCallConvention()
    1.13  {
    1.14  	return m_Cv;
     2.1 --- a/extensions/bintools/CallWrapper.h	Sat Jun 16 01:34:05 2007 +0000
     2.2 +++ b/extensions/bintools/CallWrapper.h	Sat Jun 16 01:34:41 2007 +0000
     2.3 @@ -49,6 +49,7 @@
     2.4  	const PassInfo *GetReturnInfo();
     2.5  	unsigned int GetParamCount();
     2.6  	void Execute(void *vParamStack, void *retBuffer);
     2.7 +	void Destroy();
     2.8  public:
     2.9  	inline void deleteThis() { delete this; }
    2.10  	void *m_Addrs[4];
     3.1 --- a/public/extensions/IBinTools.h	Sat Jun 16 01:34:05 2007 +0000
     3.2 +++ b/public/extensions/IBinTools.h	Sat Jun 16 01:34:41 2007 +0000
     3.3 @@ -22,7 +22,7 @@
     3.4  #include <IShareSys.h>
     3.5  
     3.6  #define SMINTERFACE_BINTOOLS_NAME		"IBinTools"
     3.7 -#define SMINTERFACE_BINTOOLS_VERSION	1
     3.8 +#define SMINTERFACE_BINTOOLS_VERSION	2
     3.9  
    3.10  /**
    3.11   * @brief Function calling encoding utilities
    3.12 @@ -105,13 +105,23 @@
    3.13  
    3.14  		/**
    3.15  		 * @brief Returns the number of parameters.
    3.16 +		 *
    3.17 +		 * @return				Number of parameters.
    3.18  		 */
    3.19  		virtual unsigned int GetParamCount() =0;
    3.20  
    3.21  		/**
    3.22  		 * @brief Execute the contained function.
    3.23 +		 *
    3.24 +		 * @param vParamStack	A blob of memory containing stack data.
    3.25 +		 * @param retBuffer		Buffer to store return value.
    3.26  		 */
    3.27  		virtual void Execute(void *vParamStack, void *retBuffer) =0;
    3.28 +
    3.29 +		/**
    3.30 +		 * @brief Destroys all resources used by this object.
    3.31 +		 */
    3.32 +		virtual void Destroy() =0;
    3.33  	};
    3.34  
    3.35  	/**