shibboleth-3.4.1
shibsp::BinaryAttribute Class Reference

An Attribute whose values are binary data. More...

#include <shibsp/attribute/BinaryAttribute.h>

Inheritance diagram for shibsp::BinaryAttribute:
Collaboration diagram for shibsp::BinaryAttribute:

Public Member Functions

 BinaryAttribute (const std::vector< std::string > &ids)
 Constructor.
 
 BinaryAttribute (DDF &in)
 Constructs based on a remoted BinaryAttribute.
 
std::vector< std::string > & getValues ()
 Returns the set of raw binary values.
 
const std::vector< std::string > & getValues () const
 Returns the set of raw binary values.
 
size_t valueCount () const
 Returns the number of values.
 
void clearSerializedValues ()
 Informs the Attribute that values have changed and any serializations must be cleared.
 
const char * getString (size_t index) const
 Gets the string equivalent of the value at the specified position (starting from zero).
 
void removeValue (size_t index)
 Removes the value at the specified position (starting from zero).
 
const std::vector< std::string > & getSerializedValues () const
 Returns serialized Attribute values encoded as UTF-8 strings.
 
DDF marshall () const
 Marshalls an Attribute for remoting.
 
- Public Member Functions inherited from shibsp::Attribute
const char * getId () const
 Returns the Attribute identifier.
 
const std::vector< std::string > & getAliases () const
 Returns all of the effective names for the Attribute.
 
std::vector< std::string > & getAliases ()
 Returns all of the effective names for the Attribute.
 
void setCaseSensitive (bool caseSensitive)
 Sets whether case sensitivity should apply to basic value comparisons.
 
void setInternal (bool internal)
 Sets whether the attribute should be exported for CGI use.
 
bool isCaseSensitive () const
 Indicates whether case sensitivity should apply to basic value comparisons.
 
bool isInternal () const
 Indicates whether the attribute should be exported for CGI use.
 
virtual const char * getScope (size_t index) const
 Gets the "scope" of the value at the specified position (starting from zero).
 

Additional Inherited Members

- Public Types inherited from shibsp::Attribute
typedef AttributeAttributeFactory(DDF &in)
 A function that unmarshalls remoted data into the proper Attribute subclass.
 
- Static Public Member Functions inherited from shibsp::Attribute
static Attributeunmarshall (DDF &in)
 Unmarshalls a remoted Attribute.
 
static void registerFactory (const char *type, AttributeFactory *factory)
 Registers an AttributeFactory function for a given attribute "type".
 
static void deregisterFactory (const char *type)
 Deregisters an AttributeFactory function for a given attribute "type".
 
static void deregisterFactories ()
 Clears the map of factories.
 
- Protected Member Functions inherited from shibsp::Attribute
 Attribute (const std::vector< std::string > &ids)
 Constructor.
 
 Attribute (DDF &in)
 Constructs based on a remoted Attribute.
 
- Protected Attributes inherited from shibsp::Attribute
std::vector< std::string > m_serialized
 Maintains a copy of serialized attribute values, when possible.
 

Detailed Description

An Attribute whose values are binary data.

Binary attributes use base64 encoding to serialize their values. The original binary values are accessible in the underlying value collection.

Constructor & Destructor Documentation

◆ BinaryAttribute() [1/2]

shibsp::BinaryAttribute::BinaryAttribute ( const std::vector< std::string > &  ids)

Constructor.

Parameters
idsarray with primary identifier in first position, followed by any aliases

◆ BinaryAttribute() [2/2]

shibsp::BinaryAttribute::BinaryAttribute ( DDF in)

Constructs based on a remoted BinaryAttribute.

Parameters
ininput object containing marshalled BinaryAttribute

Member Function Documentation

◆ clearSerializedValues()

void shibsp::BinaryAttribute::clearSerializedValues ( )
virtual

Informs the Attribute that values have changed and any serializations must be cleared.

Implements shibsp::Attribute.

◆ getSerializedValues()

const std::vector< std::string > & shibsp::BinaryAttribute::getSerializedValues ( ) const
virtual

Returns serialized Attribute values encoded as UTF-8 strings.

Returns
an immutable vector of values

Reimplemented from shibsp::Attribute.

◆ getString()

const char * shibsp::BinaryAttribute::getString ( size_t  index) const
virtual

Gets the string equivalent of the value at the specified position (starting from zero).

Parameters
indexposition of value
Returns
the specified value in its "string" form, or nullptr if undefined

Reimplemented from shibsp::Attribute.

◆ getValues() [1/2]

std::vector< std::string > & shibsp::BinaryAttribute::getValues ( )

Returns the set of raw binary values.

Returns
a mutable vector of the values

◆ getValues() [2/2]

const std::vector< std::string > & shibsp::BinaryAttribute::getValues ( ) const

Returns the set of raw binary values.

Returns
an immutable vector of the values

◆ marshall()

DDF shibsp::BinaryAttribute::marshall ( ) const
virtual

Marshalls an Attribute for remoting.

This allows Attribute objects to be communicated across process boundaries without excess XML parsing. The DDF returned must be a struct containing a single list member named with the Attribute's "id". The name of the struct should contain the registered name of the Attribute implementation.

Reimplemented from shibsp::Attribute.

◆ removeValue()

void shibsp::BinaryAttribute::removeValue ( size_t  index)
virtual

Removes the value at the specified position (starting from zero).

Parameters
indexposition of value to remove

Reimplemented from shibsp::Attribute.

◆ valueCount()

size_t shibsp::BinaryAttribute::valueCount ( ) const
virtual

Returns the number of values.

Returns
number of values

Reimplemented from shibsp::Attribute.


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