core/interfaces/IPluginFunction.h
changeset 180 fe406c5f2aeb
parent 177 d29ade52d953
child 181 1e1570518051
     1.1 --- a/core/interfaces/IPluginFunction.h	Sun Nov 12 00:40:58 2006 +0000
     1.2 +++ b/core/interfaces/IPluginFunction.h	Sun Nov 12 01:06:17 2006 +0000
     1.3 @@ -69,7 +69,7 @@
     1.4  		 *
     1.5  		 * @param array		Array to copy, NULL if no initial array should be copied.
     1.6  		 * @param cells		Number of cells to allocate and optionally read from the input array.
     1.7 -		 * @param phys_addr	Optional return address for physical array (if array was non-NULL, will be array).
     1.8 +		 * @param phys_addr	Optional return address for physical array, if one was made.
     1.9  		 * @param flags		Whether or not changes should be copied back to the input array.
    1.10  		 * @return			Error code, if any.
    1.11  		 */
    1.12 @@ -171,6 +171,28 @@
    1.13  		 * @return				Address, or NULL if invalid parameter specified.
    1.14  		 */
    1.15  		virtual cell_t *GetAddressOfPushedParam(unsigned int param) =0;
    1.16 +
    1.17 +#if 0
    1.18 +		/**
    1.19 +		 * @brief Clones the function object.  This can be used to maintain a private copy.
    1.20 +		 * The copy retains no push states and must be freeed with ReleaseCopy().
    1.21 +		 */
    1.22 +		virtual IPluginFunction *Copy() =0;
    1.23 +
    1.24 +		/**
    1.25 +		 * @brief If this object is a clone, this function must be called to destroy it.
    1.26 +		 */
    1.27 +		virtual void ReleaseCopy() =0;
    1.28 +
    1.29 +		/**
    1.30 +		 * @brief Returns original function pointer, if any.
    1.31 +		 * Note: IsCopyOf() will return the original non-copy, even if used
    1.32 +		 * from a copy.
    1.33 +		 *
    1.34 +		 * @return				The original object that this was sourced from.
    1.35 +		 */
    1.36 +		virtual IPluginFunction *IsCopyOf() =0;
    1.37 +#endif
    1.38  	};
    1.39  };
    1.40