X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Finternal.h;h=199c64403b744a202199476300554aac56fe32c4;hb=2a596f701ccf24b70e6174f805ad4d4f1f4ecd22;hp=383fbcf2ecd068be2d513653f5a6b8fd505c15d6;hpb=560b05d3f70fb3cc508c1f430198d6e545ef2326;p=shibboleth%2Fxmltooling.git diff --git a/xmltooling/internal.h b/xmltooling/internal.h index 383fbcf..199c644 100644 --- a/xmltooling/internal.h +++ b/xmltooling/internal.h @@ -35,17 +35,20 @@ #include "base.h" #include "XMLToolingConfig.h" +#include "util/ParserPool.h" #include #define XMLTOOLING_LOGCAT "XMLTooling" -namespace { +namespace xmltooling { class XMLToolingInternalConfig : public xmltooling::XMLToolingConfig { public: - XMLToolingInternalConfig() : m_lock(NULL) {} + XMLToolingInternalConfig() : m_lock(NULL), m_parserPool(NULL) {} + + static XMLToolingInternalConfig& getInternalConfig(); // global per-process setup and shutdown of runtime bool init(); @@ -59,6 +62,9 @@ namespace { bool load_library(const char* path, void* context=NULL); bool log_config(const char* config=NULL); + // internal parser pool + xmltooling::ParserPool* m_parserPool; + private: std::vector m_libhandles; void* m_lock;