X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Finternal.h;h=a49e26bb49b52e64a9cac1de12622de2a985b76a;hb=420effca96f38dfa5f2a6549679a5d455a3945a7;hp=6760aceda3a2048754dcf6b5353429b9035e456e;hpb=a5e86d37cf40004e6a43a21ab67d26695fa8619c;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltooling/internal.h b/xmltooling/internal.h index 6760ace..a49e26b 100644 --- a/xmltooling/internal.h +++ b/xmltooling/internal.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2007 Internet2 + * Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -78,10 +78,12 @@ namespace xmltooling { class XMLToolingInternalConfig : public XMLToolingConfig { public: - XMLToolingInternalConfig() : m_lock(NULL), m_parserPool(NULL), m_validatingPool(NULL) { + XMLToolingInternalConfig() + : m_lock(nullptr), m_parserPool(nullptr), m_validatingPool(nullptr) #ifndef XMLTOOLING_NO_XMLSEC - m_xsecProvider=NULL; + ,m_xsecProvider(nullptr) #endif + { } static XMLToolingInternalConfig& getInternalConfig(); @@ -95,8 +97,8 @@ namespace xmltooling { void unlock(); // configuration - bool load_library(const char* path, void* context=NULL); - bool log_config(const char* config=NULL); + bool load_library(const char* path, void* context=nullptr); + bool log_config(const char* config=nullptr); // parser access ParserPool& getParser() const { @@ -109,37 +111,16 @@ namespace xmltooling { #ifndef XMLTOOLING_NO_XMLSEC XSECCryptoX509CRL* X509CRL() const; - - std::pair mapXMLAlgorithmToKeyAlgorithm(const XMLCh* xmlAlgorithm) const { -# ifdef HAVE_GOOD_STL - algmap_t::const_iterator i = m_algorithmMap.find(xmlAlgorithm); -# else - auto_ptr_char alg(xmlAlgorithm); - algmap_t::const_iterator i = m_algorithmMap.find(alg.get()); -# endif - if (i==m_algorithmMap.end()) - return std::pair(NULL,0); - return std::make_pair(i->second.first.c_str(), i->second.second); - } - - void registerXMLAlgorithm(const XMLCh* xmlAlgorithm, const char* keyAlgorithm, unsigned int size=0) { -# ifdef HAVE_GOOD_STL - m_algorithmMap[xmlAlgorithm] = std::pair(keyAlgorithm,size); -# else - auto_ptr_char alg(xmlAlgorithm); - m_algorithmMap[alg.get()] = std::pair(keyAlgorithm,size); -# endif - } - + std::pair mapXMLAlgorithmToKeyAlgorithm(const XMLCh* xmlAlgorithm) const; + void registerXMLAlgorithm( + const XMLCh* xmlAlgorithm, const char* keyAlgorithm, unsigned int size=0, XMLSecurityAlgorithmType type=ALGTYPE_UNK + ); + bool isXMLAlgorithmSupported(const XMLCh* xmlAlgorithm, XMLSecurityAlgorithmType type=ALGTYPE_UNK); void registerXMLAlgorithms(); XSECProvider* m_xsecProvider; private: -# ifdef HAVE_GOOD_STL - typedef std::map< xstring,std::pair > algmap_t; -# else - typedef std::map< std::string,std::pair > algmap_t; -# endif + typedef std::map > > algmap_t; algmap_t m_algorithmMap; #endif