#include <xmltooling/XMLToolingConfig.h>
Inheritance diagram for xmltooling::XMLToolingConfig:
Public Member Functions | |
virtual bool | init ()=0 |
Initializes library. | |
virtual void | term ()=0 |
Shuts down library. | |
virtual bool | load_library (const char *path, void *context=NULL)=0 |
Loads a shared/dynamic library extension. | |
virtual bool | log_config (const char *config=NULL)=0 |
Configure logging system. | |
virtual ParserPool & | getParser () const =0 |
Obtains a non-validating parser pool. | |
virtual ParserPool & | getValidatingParser () const =0 |
Obtains a validating parser pool. | |
void | setKeyInfoResolver (KeyInfoResolver *keyInfoResolver) |
Sets the global KeyInfoResolver instance. | |
const KeyInfoResolver * | getKeyInfoResolver () const |
Returns the global KeyInfoResolver instance. | |
void | setReplayCache (ReplayCache *replayCache) |
Sets the global ReplayCache instance. | |
ReplayCache * | getReplayCache () const |
Returns the global ReplayCache instance. | |
void | setURLEncoder (URLEncoder *urlEncoder) |
Sets the global URLEncoder instance. | |
const URLEncoder * | getURLEncoder () const |
Returns the global URLEncoder instance. | |
void | setTemplateEngine (TemplateEngine *templateEngine) |
Sets the global TemplateEngine instance. | |
TemplateEngine * | getTemplateEngine () const |
Returns the global TemplateEngine instance. | |
void | setPathResolver (PathResolver *pathResolver) |
Sets the global PathResolver instance. | |
PathResolver * | getPathResolver () const |
Returns the global PathResolver instance. | |
virtual XSECCryptoX509CRL * | X509CRL () const =0 |
Returns an X.509 CRL implementation object. | |
virtual std::pair< const char *, unsigned int > | mapXMLAlgorithmToKeyAlgorithm (const XMLCh *xmlAlgorithm) const =0 |
Maps an XML Signature/Encryption algorithm identifier to a library-specific key algorithm and size for use in resolving credentials. | |
virtual void | registerXMLAlgorithm (const XMLCh *xmlAlgorithm, const char *keyAlgorithm, unsigned int size=0)=0 |
Registers an XML Signature/Encryption algorithm identifier against a library-specific key algorithm and size for use in resolving credentials. | |
Static Public Member Functions | |
static XMLToolingConfig & | getConfig () |
Returns the global configuration object for the library. | |
Public Attributes | |
std::string | catalog_path |
List of catalog files to load into validating parser pool at initialization time. | |
unsigned int | clock_skew_secs |
Adjusts any clock comparisons to be more liberal/permissive by the indicated number of seconds. | |
PluginManager< KeyInfoResolver, std::string, const xercesc::DOMElement * > | KeyInfoResolverManager |
Manages factories for KeyInfoResolver plugins. | |
PluginManager< CredentialResolver, std::string, const xercesc::DOMElement * > | CredentialResolverManager |
Manages factories for CredentialResolver plugins. | |
PluginManager< TrustEngine, std::string, const xercesc::DOMElement * > | TrustEngineManager |
Manages factories for TrustEngine plugins. | |
PluginManager< StorageService, std::string, const xercesc::DOMElement * > | StorageServiceManager |
Manages factories for StorageService plugins. | |
PluginManager< SOAPTransport, std::string, SOAPTransport::Address > | SOAPTransportManager |
Manages factories for SOAPTransport plugins. | |
Protected Attributes | |
KeyInfoResolver * | m_keyInfoResolver |
Global KeyInfoResolver instance. | |
ReplayCache * | m_replayCache |
Global ReplayCache instance. | |
PathResolver * | m_pathResolver |
Global PathResolver instance. | |
TemplateEngine * | m_templateEngine |
Global TemplateEngine instance. | |
URLEncoder * | m_urlEncoder |
Global URLEncoder instance for use by URL-related functions. |
A locking interface is supplied as a convenience for code that wants to obtain a global system lock, but the actual configuration itself is not synchronized.
static XMLToolingConfig& xmltooling::XMLToolingConfig::getConfig | ( | ) | [static] |
Returns the global configuration object for the library.
const KeyInfoResolver* xmltooling::XMLToolingConfig::getKeyInfoResolver | ( | ) | const [inline] |
virtual ParserPool& xmltooling::XMLToolingConfig::getParser | ( | ) | const [pure virtual] |
Obtains a non-validating parser pool.
Library must be initialized first.
PathResolver* xmltooling::XMLToolingConfig::getPathResolver | ( | ) | const [inline] |
ReplayCache* xmltooling::XMLToolingConfig::getReplayCache | ( | ) | const [inline] |
TemplateEngine* xmltooling::XMLToolingConfig::getTemplateEngine | ( | ) | const [inline] |
const URLEncoder* xmltooling::XMLToolingConfig::getURLEncoder | ( | ) | const [inline] |
virtual ParserPool& xmltooling::XMLToolingConfig::getValidatingParser | ( | ) | const [pure virtual] |
Obtains a validating parser pool.
Library must be initialized first. Schema/catalog registration must be externally synchronized.
virtual bool xmltooling::XMLToolingConfig::init | ( | ) | [pure virtual] |
Initializes library.
Each process using the library MUST call this function exactly once before using any library classes except for the LogConfig method.
virtual bool xmltooling::XMLToolingConfig::load_library | ( | const char * | path, | |
void * | context = NULL | |||
) | [pure virtual] |
Loads a shared/dynamic library extension.
Extension libraries are managed using a pair of "C" linkage functions:
extern "C" int xmltooling_extension_init(void* context);
extern "C" void xmltooling_extension_term();
This method is internally synchronized.
path | pathname of shared library to load into process | |
context | arbitrary data to pass to library initialization hook |
virtual bool xmltooling::XMLToolingConfig::log_config | ( | const char * | config = NULL |
) | [pure virtual] |
Configure logging system.
May be called first, before initializing the library. Other calls to it must be externally synchronized.
config | either a logging configuration file, or a level from the set (DEBUG, INFO, NOTICE, WARN, ERROR, CRIT, ALERT, FATAL, EMERG) |
virtual std::pair<const char*,unsigned int> xmltooling::XMLToolingConfig::mapXMLAlgorithmToKeyAlgorithm | ( | const XMLCh * | xmlAlgorithm | ) | const [pure virtual] |
Maps an XML Signature/Encryption algorithm identifier to a library-specific key algorithm and size for use in resolving credentials.
xmlAlgorithm | XML Signature/Encryption algorithm identifier |
virtual void xmltooling::XMLToolingConfig::registerXMLAlgorithm | ( | const XMLCh * | xmlAlgorithm, | |
const char * | keyAlgorithm, | |||
unsigned int | size = 0 | |||
) | [pure virtual] |
Registers an XML Signature/Encryption algorithm identifier against a library-specific key algorithm and size for use in resolving credentials.
xmlAlgorithm | XML Signature/Encryption algorithm identifier | |
keyAlgorithm | a key algorithm | |
size | a key size (or 0 if the size is irrelevant) |
void xmltooling::XMLToolingConfig::setKeyInfoResolver | ( | KeyInfoResolver * | keyInfoResolver | ) |
Sets the global KeyInfoResolver instance.
This method must be externally synchronized with any code that uses the object. Any previously set object is destroyed.
keyInfoResolver | new KeyInfoResolver instance to store |
void xmltooling::XMLToolingConfig::setPathResolver | ( | PathResolver * | pathResolver | ) |
Sets the global PathResolver instance.
This method must be externally synchronized with any code that uses the object. Any previously set object is destroyed.
pathResolver | new PathResolver instance to store |
void xmltooling::XMLToolingConfig::setReplayCache | ( | ReplayCache * | replayCache | ) |
Sets the global ReplayCache instance.
This method must be externally synchronized with any code that uses the object. Any previously set object is destroyed.
replayCache | new ReplayCache instance to store |
void xmltooling::XMLToolingConfig::setTemplateEngine | ( | TemplateEngine * | templateEngine | ) |
Sets the global TemplateEngine instance.
This method must be externally synchronized with any code that uses the object. Any previously set object is destroyed.
templateEngine | new TemplateEngine instance to store |
void xmltooling::XMLToolingConfig::setURLEncoder | ( | URLEncoder * | urlEncoder | ) |
Sets the global URLEncoder instance.
This method must be externally synchronized with any code that uses the object. Any previously set object is destroyed.
urlEncoder | new URLEncoder instance to store |
virtual void xmltooling::XMLToolingConfig::term | ( | ) | [pure virtual] |
Shuts down library.
Each process using the library SHOULD call this function exactly once before terminating itself
std::string xmltooling::XMLToolingConfig::catalog_path |
List of catalog files to load into validating parser pool at initialization time.
Like other path settings, the separator depends on the platform (semicolon on Windows, colon otherwise).
PluginManager<SOAPTransport,std::string,SOAPTransport::Address> xmltooling::XMLToolingConfig::SOAPTransportManager |
Manages factories for SOAPTransport plugins.
The factory interface takes a peer name/endpoint pair.