* @param name the exception class name
* @param ns the exception class C++ namespace
*/
-#define REGISTER_EXCEPTION_FACTORY(name,ns) XMLToolingException::registerFactory(#ns".."#name,name##Factory)
+#define REGISTER_EXCEPTION_FACTORY(name,ns) XMLToolingException::registerFactory(#ns"::"#name,name##Factory)
#if defined (_MSC_VER)
#pragma warning( push )
m_factoryMap.erase(exceptionClass);
}
+ /**
+ * Unregisters all factories.
+ */
+ static void deregisterFactories() {
+ m_factoryMap.clear();
+ }
+
private:
typedef std::map<std::string,ExceptionFactory*> ExceptionFactoryMap;
static ExceptionFactoryMap m_factoryMap;