#ifndef THandleHack_hxx_Seen #define THandleHack_hxx_Seen namespace COMET { /// A useful debugging/memory leak detecting routine to find places where /// IHandle objects are somehow being misused. I used it to find a /// IHitSelection that was not correctly deleted, and which was causing a /// huge memory leak. bool CleanHandleRegistry(bool eraseAll = false); /// Dump a list of all the handles that have not been deleted. To be used /// for debugging, the user must have first called /// CreateHandleRegistry(). void DumpHandleRegistry(); /// Enable or disable an internal set of all active handles. If called /// with an argument of "true", this will create an internal handle /// registry and cause your program to run very slowly. If called with an /// argument of "false", the internal registry will be deleted (if it /// exists). After COMET::EnableHandleRegistry(true) is called, the /// COMET::DumpHandleRegistry() function will print a list of handles /// remaining in memory. /// /// The COMET::EnableHandleRegistry() and COMET::DumpHandleRegistry() are used /// by the event loop when it is run using the "-H" command line option. void EnableHandleRegistry(bool create); } #endif