shibboleth-3.0.1
shibsp::XMLConfig Class Reference
Inheritance diagram for shibsp::XMLConfig:
shibsp::ServiceProvider shibsp::Remoted shibsp::PropertySet

Public Member Functions

 XMLConfig (const xercesc::DOMElement *e, bool deprecationSupport=true)
 
void init ()
 Loads a configuration and prepares the instance for use. More...
 
const XMLCh * getConfigurationNamespace () const
 Get the "active" XML namespace of the underlying configuration. More...
 
xmltooling::Lockable * lock ()
 
void unlock ()
 
const PropertySetgetParent () const
 Returns parent of this PropertySet, if any. More...
 
void setParent (const PropertySet *parent)
 Establishes a "parent" PropertySet to supply inherited settings. More...
 
std::pair< bool, bool > getBool (const char *name, const char *ns=nullptr) const
 Returns a boolean-valued property. More...
 
std::pair< bool, const char * > getString (const char *name, const char *ns=nullptr) const
 Returns a string-valued property. More...
 
std::pair< bool, const XMLCh * > getXMLString (const char *name, const char *ns=nullptr) const
 Returns a Unicode string-valued property. More...
 
std::pair< bool, unsigned int > getUnsignedInt (const char *name, const char *ns=nullptr) const
 Returns an unsigned integer-valued property. More...
 
std::pair< bool, int > getInt (const char *name, const char *ns=nullptr) const
 Returns an integer-valued property. More...
 
const PropertySetgetPropertySet (const char *name, const char *ns=shibspconstants::ASCII_SHIBSPCONFIG_NS) const
 Returns a nested property set. More...
 
const xercesc::DOMElement * getElement () const
 Returns a DOM element representing the property container, if any. More...
 
void receive (DDF &in, std::ostream &out)
 Remoted classes implement this method to process incoming messages. More...
 
TransactionLoggetTransactionLog () const
 Returns a TransactionLog instance. More...
 
xmltooling::StorageService * getStorageService (const char *id) const
 Returns a StorageService instance based on an ID. More...
 
ListenerServicegetListenerService (bool required=true) const
 Returns a ListenerService instance. More...
 
SessionCachegetSessionCache (bool required=true) const
 Returns a SessionCache instance. More...
 
RequestMappergetRequestMapper (bool required=true) const
 Returns a RequestMapper instance. More...
 
const ApplicationgetApplication (const char *applicationId) const
 Returns an Application instance matching the specified ID. More...
 
SecurityPolicyProvidergetSecurityPolicyProvider (bool required=true) const
 Returns a SecurityPolicyProvider instance. More...
 
bool setTransportOptions (xmltooling::SOAPTransport &transport) const
 Sets implementation-specific transport options. More...
 
void regListener (const char *address, Remoted *svc)
 Register for a message. More...
 
bool unregListener (const char *address, Remoted *current)
 Unregisters service from an address, possibly restoring an original. More...
 
RemotedlookupListener (const char *address) const
 Returns current service registered at an address, if any. More...
 
- Public Member Functions inherited from shibsp::ServiceProvider
virtual std::pair< bool, long > doAuthentication (SPRequest &request, bool handler=false) const
 Enforces requirements for an authenticated session. More...
 
virtual std::pair< bool, long > doAuthorization (SPRequest &request) const
 Enforces authorization requirements based on the authenticated session. More...
 
virtual std::pair< bool, long > doExport (SPRequest &request, bool requireSession=true) const
 Publishes session contents to the request in the form of headers or environment variables. More...
 
virtual std::pair< bool, long > doHandler (SPRequest &request) const
 Services requests for registered Handler locations. More...
 

Protected Member Functions

std::pair< bool,
xercesc::DOMElement * > 
background_load ()
 

Friends

class XMLConfigImpl
 

Additional Inherited Members

- Protected Attributes inherited from shibsp::ServiceProvider
std::set< std::string > m_authTypes
 The AuthTypes to "recognize" (defaults to "shibboleth"). More...
 

Member Function Documentation

const Application* shibsp::XMLConfig::getApplication ( const char *  applicationId) const
virtual

Returns an Application instance matching the specified ID.

Parameters
applicationIdthe ID of the application, or nullptr for the default
Returns
pointer to the application, or nullptr

Implements shibsp::ServiceProvider.

std::pair<bool, bool> shibsp::XMLConfig::getBool ( const char *  name,
const char *  ns = nullptr 
) const
inlinevirtual

Returns a boolean-valued property.

Parameters
nameproperty name
nsproperty namespace, or nullptr
Returns
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Implements shibsp::PropertySet.

const XMLCh* shibsp::XMLConfig::getConfigurationNamespace ( ) const
inlinevirtual

Get the "active" XML namespace of the underlying configuration.

This accomodates multiple supported configuration schemas at runtime by allowing components to tailor their behavior to the specific format in use.

Implements shibsp::ServiceProvider.

const xercesc::DOMElement* shibsp::XMLConfig::getElement ( ) const
inlinevirtual

Returns a DOM element representing the property container, if any.

Returns
a DOM element, or nullptr

Implements shibsp::PropertySet.

std::pair<bool, int> shibsp::XMLConfig::getInt ( const char *  name,
const char *  ns = nullptr 
) const
inlinevirtual

Returns an integer-valued property.

Parameters
nameproperty name
nsproperty namespace, or nullptr
Returns
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Implements shibsp::PropertySet.

ListenerService* shibsp::XMLConfig::getListenerService ( bool  required = true) const
inlinevirtual

Returns a ListenerService instance.

Parameters
requiredtrue iff an exception should be thrown if no ListenerService is available
Returns
a ListenerService

Implements shibsp::ServiceProvider.

const PropertySet* shibsp::XMLConfig::getParent ( ) const
inlinevirtual

Returns parent of this PropertySet, if any.

Returns
the parent object, or nullptr

Implements shibsp::PropertySet.

const PropertySet* shibsp::XMLConfig::getPropertySet ( const char *  name,
const char *  ns = shibspconstants::ASCII_SHIBSPCONFIG_NS 
) const
inlinevirtual

Returns a nested property set.

Parameters
namenested property set name
nsnested property set namespace, or nullptr
Returns
the nested property set, or nullptr

Implements shibsp::PropertySet.

RequestMapper* shibsp::XMLConfig::getRequestMapper ( bool  required = true) const
inlinevirtual

Returns a RequestMapper instance.

Parameters
requiredtrue iff an exception should be thrown if no RequestMapper is available
Returns
a RequestMapper

Implements shibsp::ServiceProvider.

SecurityPolicyProvider* shibsp::XMLConfig::getSecurityPolicyProvider ( bool  required = true) const
inlinevirtual

Returns a SecurityPolicyProvider instance.

Parameters
requiredtrue iff an exception should be thrown if no SecurityPolicyProvider is available
Returns
a SecurityPolicyProvider

Implements shibsp::ServiceProvider.

SessionCache* shibsp::XMLConfig::getSessionCache ( bool  required = true) const
inlinevirtual

Returns a SessionCache instance.

Parameters
requiredtrue iff an exception should be thrown if no SessionCache is available
Returns
a SessionCache

Implements shibsp::ServiceProvider.

xmltooling::StorageService* shibsp::XMLConfig::getStorageService ( const char *  id) const
virtual

Returns a StorageService instance based on an ID.

Parameters
ida nullptr-terminated key identifying the StorageService to the configuration
Returns
a StorageService if available, or nullptr

Implements shibsp::ServiceProvider.

std::pair<bool, const char*> shibsp::XMLConfig::getString ( const char *  name,
const char *  ns = nullptr 
) const
inlinevirtual

Returns a string-valued property.

Parameters
nameproperty name
nsproperty namespace, or nullptr
Returns
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Implements shibsp::PropertySet.

TransactionLog* shibsp::XMLConfig::getTransactionLog ( ) const
inlinevirtual

Returns a TransactionLog instance.

Returns
a TransactionLog instance

Implements shibsp::ServiceProvider.

std::pair<bool, unsigned int> shibsp::XMLConfig::getUnsignedInt ( const char *  name,
const char *  ns = nullptr 
) const
inlinevirtual

Returns an unsigned integer-valued property.

Parameters
nameproperty name
nsproperty namespace, or nullptr
Returns
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Implements shibsp::PropertySet.

std::pair<bool, const XMLCh*> shibsp::XMLConfig::getXMLString ( const char *  name,
const char *  ns = nullptr 
) const
inlinevirtual

Returns a Unicode string-valued property.

Parameters
nameproperty name
nsproperty namespace, or nullptr
Returns
a pair consisting of a nullptr indicator and the property value iff the indicator is true

Implements shibsp::PropertySet.

void shibsp::XMLConfig::init ( )
inlinevirtual

Loads a configuration and prepares the instance for use.

Implemented as a separate method so that services can rely on other services while they initialize by accessing the ServiceProvider from the SPConfig singleton.

Implements shibsp::ServiceProvider.

Remoted* shibsp::XMLConfig::lookupListener ( const char *  address) const
virtual

Returns current service registered at an address, if any.

Parameters
addressmessage address to access
Returns
registered service, or nullptr

Implements shibsp::ServiceProvider.

void shibsp::XMLConfig::receive ( DDF in,
std::ostream &  out 
)
virtual

Remoted classes implement this method to process incoming messages.

Parameters
inincoming DDF message
outstream to write outgoing DDF message to

Implements shibsp::Remoted.

void shibsp::XMLConfig::regListener ( const char *  address,
Remoted svc 
)
virtual

Register for a message.

Parameters
addressmessage address to register
svcpointer to remote service

Implements shibsp::ServiceProvider.

void shibsp::XMLConfig::setParent ( const PropertySet parent)
inlinevirtual

Establishes a "parent" PropertySet to supply inherited settings.

Parameters
parentthe parent PropertySet to use

Implements shibsp::PropertySet.

bool shibsp::XMLConfig::setTransportOptions ( xmltooling::SOAPTransport &  transport) const
virtual

Sets implementation-specific transport options.

Parameters
transporta SOAPTransport object
Returns
true iff all options were successfully set

Implements shibsp::ServiceProvider.

bool shibsp::XMLConfig::unregListener ( const char *  address,
Remoted current 
)
virtual

Unregisters service from an address, possibly restoring an original.

Parameters
addressmessage address to modify
currentpointer to unregistering service
Returns
true iff the current service was still registered

Implements shibsp::ServiceProvider.


The documentation for this class was generated from the following file: