Declare factory maps, map cleanup.
authorcantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Mon, 20 Feb 2006 08:18:16 +0000 (08:18 +0000)
committercantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Mon, 20 Feb 2006 08:18:16 +0000 (08:18 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@20 de75baf8-a10c-0410-a50a-987c0e22f00f

xmltooling/XMLToolingConfig.cpp

index e4e19c0..adf8514 100644 (file)
@@ -22,6 +22,9 @@
 \r
 #include "internal.h"\r
 #include "XMLToolingConfig.h"\r
+#include "XMLObjectBuilder.h"\r
+#include "io/Marshaller.h"\r
+#include "io/Unmarshaller.h"\r
 #include "util/NDC.h"\r
 \r
 #ifdef HAVE_DLFCN_H\r
@@ -251,3 +254,24 @@ bool XMLToolingInternalConfig::load_library(const char* path, void* context)
     log.info("loaded extension: %s", path);\r
     return true;\r
 }\r
+\r
+map<QName,XMLObjectBuilder*> XMLObjectBuilder::m_map;\r
+\r
+void XMLObjectBuilder::destroyBuilders()\r
+{\r
+    for_each(m_map.begin(),m_map.end(),cleanup_pair<QName,XMLObjectBuilder>());\r
+}\r
+\r
+map<QName,Marshaller*> Marshaller::m_map;\r
+\r
+void Marshaller::destroyMarshallers()\r
+{\r
+    for_each(m_map.begin(),m_map.end(),cleanup_pair<QName,Marshaller>());\r
+}\r
+\r
+map<QName,Unmarshaller*> Unmarshaller::m_map;\r
+\r
+void Unmarshaller::destroyUnmarshallers()\r
+{\r
+    for_each(m_map.begin(),m_map.end(),cleanup_pair<QName,Unmarshaller>());\r
+}\r