xmltooling::XMLToolingConfig Class Reference

Singleton object that manages library startup/shutdown.configuration. More...

#include <xmltooling/XMLToolingConfig.h>

Inheritance diagram for xmltooling::XMLToolingConfig:

xmltooling::Lockable List of all members.

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 ParserPoolgetParser () const =0
 Obtains a non-validating parser pool.
virtual ParserPoolgetValidatingParser () const =0
 Obtains a validating parser pool.
void setKeyInfoResolver (KeyInfoResolver *keyInfoResolver)
 Sets the global KeyInfoResolver instance.
const KeyInfoResolvergetKeyInfoResolver () const
 Returns the global KeyInfoResolver instance.
void setReplayCache (ReplayCache *replayCache)
 Sets the global ReplayCache instance.
ReplayCachegetReplayCache () const
 Returns the global ReplayCache instance.
void setURLEncoder (URLEncoder *urlEncoder)
 Sets the global URLEncoder instance.
const URLEncodergetURLEncoder () const
 Returns the global URLEncoder instance.
void setTemplateEngine (TemplateEngine *templateEngine)
 Sets the global TemplateEngine instance.
TemplateEnginegetTemplateEngine () const
 Returns the global TemplateEngine instance.
void setPathResolver (PathResolver *pathResolver)
 Sets the global PathResolver instance.
PathResolvergetPathResolver () const
 Returns the global PathResolver instance.
virtual XSECCryptoX509CRLX509CRL () 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 XMLToolingConfiggetConfig ()
 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

KeyInfoResolverm_keyInfoResolver
 Global KeyInfoResolver instance.
ReplayCachem_replayCache
 Global ReplayCache instance.
PathResolverm_pathResolver
 Global PathResolver instance.
TemplateEnginem_templateEngine
 Global TemplateEngine instance.
URLEncoderm_urlEncoder
 Global URLEncoder instance for use by URL-related functions.

Detailed Description

Singleton object that manages library startup/shutdown.configuration.

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.


Member Function Documentation

static XMLToolingConfig& xmltooling::XMLToolingConfig::getConfig (  )  [static]

Returns the global configuration object for the library.

Returns:
reference to the global library configuration object

const KeyInfoResolver* xmltooling::XMLToolingConfig::getKeyInfoResolver (  )  const [inline]

Returns the global KeyInfoResolver instance.

Returns:
global KeyInfoResolver or NULL

virtual ParserPool& xmltooling::XMLToolingConfig::getParser (  )  const [pure virtual]

Obtains a non-validating parser pool.

Library must be initialized first.

Returns:
reference to a non-validating parser pool.

PathResolver* xmltooling::XMLToolingConfig::getPathResolver (  )  const [inline]

Returns the global PathResolver instance.

Returns:
global PathResolver or NULL

ReplayCache* xmltooling::XMLToolingConfig::getReplayCache (  )  const [inline]

Returns the global ReplayCache instance.

Returns:
global ReplayCache or NULL

TemplateEngine* xmltooling::XMLToolingConfig::getTemplateEngine (  )  const [inline]

Returns the global TemplateEngine instance.

Returns:
global TemplateEngine or NULL

const URLEncoder* xmltooling::XMLToolingConfig::getURLEncoder (  )  const [inline]

Returns the global URLEncoder instance.

Returns:
global URLEncoder or NULL

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.

Returns:
reference to a validating parser pool.

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.

Returns:
true iff initialization was successful

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.

Parameters:
path pathname of shared library to load into process
context arbitrary data to pass to library initialization hook
Returns:
true iff library was loaded successfully

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.

Parameters:
config either a logging configuration file, or a level from the set (DEBUG, INFO, NOTICE, WARN, ERROR, CRIT, ALERT, FATAL, EMERG)
Returns:
true iff configuration was successful

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.

Parameters:
xmlAlgorithm XML Signature/Encryption algorithm identifier
Returns:
a general key algorithm and key size (or 0 if the size is irrelevant)

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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


Member Data Documentation

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.


The documentation for this class was generated from the following file:
Generated on Mon Oct 19 14:18:35 2009 for xmltooling by  doxygen 1.4.7