shibsp::AttributeDecoder Class Referenceabstract

Decodes XML objects into resolved Attributes. More...

`#include <shibsp/attribute/AttributeDecoder.h>`

Collaboration diagram for shibsp::AttributeDecoder:
[legend]

## Public Member Functions

virtual Attribute * | decode (const xmltooling::GenericRequest *request, const std::vector< std::string > &ids, const xmltooling::XMLObject *xmlObject, const char *assertingParty=nullptr, const char *relyingParty=nullptr) const =0
| Decodes an XMLObject into a resolved Attribute.

## Protected Member Functions

| AttributeDecoder (const xercesc::DOMElement *e)
| Constructor.
virtual Attribute * | _decode (Attribute *attr) const
| Helper method to handle base class decoding housekeeping.
virtual std::pair< std::vector< xmltooling::XMLObject * >::const_iterator, std::vector< xmltooling::XMLObject * >::const_iterator > | valueRange (const xmltooling::GenericRequest *request, const std::vector< xmltooling::XMLObject * > &objects) const
| Helper method that returns a range of objects the decoder should operate on, based on the language settings of the decoder and the client request.

## Protected Attributes

bool | m_caseSensitive
| Flag for case sensitivity of decoded attributes.
bool | m_internal
| Flag for hiding attributes from CGI export.
bool | m_langAware
| Flag for language aware decoding.
std::string | m_hashAlg
| Hash algorithm to apply to decoded values.

## Detailed Description

Decodes XML objects into resolved Attributes.

## Constructor & Destructor Documentation

## AttributeDecoder()

shibsp::AttributeDecoder::AttributeDecoder | ( | const xercesc::DOMElement * | e | ) |

protected

Constructor.

Parameters

  e | root of DOM to configure the decoder

## Member Function Documentation

## _decode()

virtual Attribute * shibsp::AttributeDecoder::_decode | ( | Attribute * | attr | ) | const

protected virtual

Helper method to handle base class decoding housekeeping.

Parameters

  attr | the new Attribute object being created

Returns
  the attr parameter

## decode()

virtual Attribute * shibsp::AttributeDecoder::decode | ( | const xmltooling::GenericRequest * | request,
|  | const std::vector< std::string > & | ids,
|  | const xmltooling::XMLObject * | xmlObject,
|  | const char * | assertingParty = `nullptr`,
|  | const char * | relyingParty = `nullptr`
| ) |  | const

pure virtual

Decodes an XMLObject into a resolved Attribute.

Parameters

  request | request triggering the decode, if any
  ids | array containing primary identifier in first position, followed by any aliases
  xmlObject | XMLObject to decode
  assertingParty | name of the party asserting the attribute
  relyingParty | name of the party relying on the attribute

Returns
  a resolved Attribute, or nullptr

## valueRange()

virtual std::pair< std::vector< xmltooling::XMLObject * >::const_iterator, std::vector< xmltooling::XMLObject * >::const_iterator > shibsp::AttributeDecoder::valueRange | ( | const xmltooling::GenericRequest * | request,
|  | const std::vector< xmltooling::XMLObject * > & | objects
| ) |  | const

protected virtual

Helper method that returns a range of objects the decoder should operate on, based on the language settings of the decoder and the client request.

Parameters

  request | the client request, if any
  objects | the objects to examine

Returns
  a pair of iterators representing the range of objects to examine

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

- shibsp/attribute/AttributeDecoder.h