Kea 3.1.3
isc::radius::AttrVsa Class Reference

RADIUS attribute holding vsa. More...

#include <client_attribute.h>

+ Inheritance diagram for isc::radius::AttrVsa:

Public Member Functions

virtual size_t getValueLen () const override
 Value length.
 
virtual AttrValueType getValueType () const override
 Get value type.
 
virtual std::vector< uint8_t > toBytes () const override
 To bytes.
 
virtual data::ElementPtr toElement () const override
 Unparse attribute.
 
virtual std::string toText (size_t indent=0) const override
 Returns text representation of the attribute.
 
virtual uint32_t toVendorId () const override
 To vendor id.
 
virtual std::vector< uint8_t > toVsaData () const override
 To vsa data.
 
- Public Member Functions inherited from isc::radius::Attribute
virtual ~Attribute ()=default
 Virtual destructor.
 
uint8_t getType () const
 Get type.
 
virtual std::vector< uint8_t > toBinary () const
 To binary.
 
virtual uint32_t toInt () const
 To integer.
 
virtual asiolink::IOAddress toIpAddr () const
 To IPv4 address.
 
virtual asiolink::IOAddress toIpv6Addr () const
 To IPv6 address.
 
virtual asiolink::IOAddress toIpv6Prefix () const
 To IPv6 prefix.
 
virtual uint8_t toIpv6PrefixLen () const
 To IPv6 prefix length.
 
virtual std::string toString () const
 Specific get methods.
 
- Public Member Functions inherited from isc::data::CfgToElement
virtual ~CfgToElement ()
 Destructor.
 

Protected Member Functions

 AttrVsa (const uint8_t type, const uint32_t vendor, const std::string &value)
 Constructor.
 
 AttrVsa (const uint8_t type, const uint32_t vendor, const std::vector< uint8_t > &value)
 Constructor.
 
- Protected Member Functions inherited from isc::radius::Attribute
 Attribute (const uint8_t type)
 Constructor.
 

Static Protected Member Functions

static AttributePtr fromBytes (const uint8_t type, const std::vector< uint8_t > &bytes)
 From bytes.
 
static AttributePtr fromText (const uint8_t type, const std::string &repr)
 From text.
 

Friends

class Attribute
 Make Attribute a friend class.
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::radius::Attribute
static AttributePtr fromBinary (const uint8_t type, const std::vector< uint8_t > &value)
 From binary with type.
 
static AttributePtr fromBytes (const AttrDefPtr &def, const std::vector< uint8_t > &value)
 From bytes with definition (handle vendor).
 
static AttributePtr fromBytes (const std::vector< uint8_t > &bytes)
 Generic factories.
 
static AttributePtr fromInt (const uint8_t type, const uint32_t value)
 From integer with type.
 
static AttributePtr fromIpAddr (const uint8_t type, const asiolink::IOAddress &value)
 From IPv4 address with type.
 
static AttributePtr fromIpv6Addr (const uint8_t type, const asiolink::IOAddress &value)
 From IPv6 address with type.
 
static AttributePtr fromIpv6Prefix (const uint8_t type, const uint8_t len, const asiolink::IOAddress &value)
 From IPv6 prefix with type.
 
static AttributePtr fromString (const uint8_t type, const std::string &value)
 From type specific factories.
 
static AttributePtr fromText (const AttrDefPtr &def, const std::string &value)
 From definition generic factories.
 
static AttributePtr fromVsa (const uint8_t type, const uint32_t vendor, const std::string &value)
 From Vendor ID and string data with type.
 
static AttributePtr fromVsa (const uint8_t type, const uint32_t vendor, const std::vector< uint8_t > &value)
 From Vendor ID and binary data with type.
 
- Public Attributes inherited from isc::radius::Attribute
const uint8_t type_
 Type.
 

Detailed Description

RADIUS attribute holding vsa.

Definition at line 717 of file client_attribute.h.

Constructor & Destructor Documentation

◆ AttrVsa() [1/2]

isc::radius::AttrVsa::AttrVsa ( const uint8_t type,
const uint32_t vendor,
const std::string & value )
inlineprotected

Constructor.

Parameters
typeattribute type.
vendorvendor id.
valuestring vsa data.

Definition at line 725 of file client_attribute.h.

References Attribute, and if().

Referenced by fromBytes().

+ Here is the call graph for this function:

◆ AttrVsa() [2/2]

isc::radius::AttrVsa::AttrVsa ( const uint8_t type,
const uint32_t vendor,
const std::vector< uint8_t > & value )
protected

Constructor.

Parameters
typeattribute type.
vendorvendor id.
valuebinary vsa data.

Definition at line 648 of file client_attribute.cc.

References Attribute, and if().

+ Here is the call graph for this function:

Member Function Documentation

◆ fromBytes()

AttributePtr isc::radius::AttrVsa::fromBytes ( const uint8_t type,
const std::vector< uint8_t > & bytes )
staticprotected

From bytes.

Parameters
typeattribute type.
bytesbinary value.
Returns
pointer to the attribute or null.

Definition at line 668 of file client_attribute.cc.

References AttrVsa(), and isc_throw.

+ Here is the call graph for this function:

◆ fromText()

AttributePtr isc::radius::AttrVsa::fromText ( const uint8_t type,
const std::string & repr )
staticprotected

From text.

Parameters
typeattribute type.
reprvalue representation.
Returns
pointer to the attribute or null.
Exceptions
NotImplemented

Definition at line 663 of file client_attribute.cc.

References isc_throw.

◆ getValueLen()

virtual size_t isc::radius::AttrVsa::getValueLen ( ) const
inlineoverridevirtual

Value length.

Returns
Value length.

Implements isc::radius::Attribute.

Definition at line 776 of file client_attribute.h.

Referenced by toBytes().

◆ getValueType()

virtual AttrValueType isc::radius::AttrVsa::getValueType ( ) const
inlineoverridevirtual

Get value type.

Returns
the value type.

Implements isc::radius::Attribute.

Definition at line 769 of file client_attribute.h.

References isc::radius::PW_TYPE_VSA.

◆ toBytes()

std::vector< uint8_t > isc::radius::AttrVsa::toBytes ( ) const
overridevirtual

To bytes.

Returns
binary representation.

Implements isc::radius::Attribute.

Definition at line 708 of file client_attribute.cc.

References isc::radius::Attribute::getType(), and getValueLen().

+ Here is the call graph for this function:

◆ toElement()

ElementPtr isc::radius::AttrVsa::toElement ( ) const
overridevirtual

Unparse attribute.

Returns
a pointer to unparsed attribute.

Implements isc::data::CfgToElement.

Definition at line 734 of file client_attribute.cc.

References Element::create(), Element::createMap(), isc::util::encode::encodeHex(), isc::radius::AttrDefs::getByType(), isc::radius::Attribute::getType(), and isc::radius::AttrDefs::instance().

+ Here is the call graph for this function:

◆ toText()

string isc::radius::AttrVsa::toText ( size_t indent = 0) const
overridevirtual

Returns text representation of the attribute.

Parameters
indentnumber of spaces before printing text.
Returns
string with text representation.

Implements isc::radius::Attribute.

Definition at line 691 of file client_attribute.cc.

References isc::util::encode::encodeHex(), isc::radius::AttrDefs::getName(), isc::radius::Attribute::getType(), and isc::radius::AttrDefs::instance().

+ Here is the call graph for this function:

◆ toVendorId()

virtual uint32_t isc::radius::AttrVsa::toVendorId ( ) const
inlineoverridevirtual

To vendor id.

Returns
the vendor id.

Reimplemented from isc::radius::Attribute.

Definition at line 794 of file client_attribute.h.

◆ toVsaData()

std::vector< uint8_t > isc::radius::AttrVsa::toVsaData ( ) const
overridevirtual

To vsa data.

Returns
the vsa data.

Reimplemented from isc::radius::Attribute.

Definition at line 724 of file client_attribute.cc.

Friends And Related Symbol Documentation

◆ Attribute

friend class Attribute
friend

Make Attribute a friend class.

Definition at line 762 of file client_attribute.h.

References Attribute.

Referenced by AttrVsa(), AttrVsa(), and Attribute.


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