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 /**