![]() |
Kea 3.1.3
|
RADIUS attribute derived classes: do not use them directly outside unit tests, instead use Attribute class/static factory methods. More...
#include <client_attribute.h>
Public Member Functions | |
virtual size_t | getValueLen () const override |
Value length. | |
virtual AttrValueType | getValueType () const override |
Get value type. | |
virtual std::vector< uint8_t > | toBinary () const override |
To binary. | |
virtual std::vector< uint8_t > | toBytes () const override |
To bytes. | |
virtual data::ElementPtr | toElement () const override |
Unparse attribute. | |
virtual std::string | toString () const override |
To string. | |
virtual std::string | toText (size_t indent=0) const override |
Returns text representation of the attribute. | |
![]() | |
virtual | ~Attribute ()=default |
Virtual destructor. | |
uint8_t | getType () const |
Get type. | |
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 uint32_t | toVendorId () const |
To vendor id. | |
virtual std::vector< uint8_t > | toVsaData () const |
To vsa data. | |
![]() | |
virtual | ~CfgToElement () |
Destructor. | |
Protected Member Functions | |
AttrString (const uint8_t type, const std::string &value) | |
Constructor. | |
AttrString (const uint8_t type, const std::vector< uint8_t > &value) | |
Constructor. | |
![]() | |
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 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. | |
![]() | |
const uint8_t | type_ |
Type. | |
RADIUS attribute derived classes: do not use them directly outside unit tests, instead use Attribute class/static factory methods.
RADIUS attribute holding strings.
Definition at line 298 of file client_attribute.h.
|
inlineprotected |
Constructor.
type | attribute type. |
value | string value. |
Definition at line 305 of file client_attribute.h.
References Attribute, and if().
Referenced by fromBytes(), and fromText().
|
protected |
Constructor.
type | attribute type. |
value | binary value. |
Definition at line 241 of file client_attribute.cc.
References Attribute, and if().
|
staticprotected |
From bytes.
type | attribute type. |
bytes | binary value. |
Definition at line 267 of file client_attribute.cc.
References AttrString(), and isc_throw.
|
staticprotected |
From text.
type | attribute type. |
repr | value representation. |
Definition at line 255 of file client_attribute.cc.
References AttrString(), and isc_throw.
|
inlineoverridevirtual |
Value length.
Implements isc::radius::Attribute.
Definition at line 351 of file client_attribute.h.
Referenced by toBinary(), and toBytes().
|
inlineoverridevirtual |
Get value type.
Implements isc::radius::Attribute.
Definition at line 344 of file client_attribute.h.
References isc::radius::PW_TYPE_STRING.
|
overridevirtual |
To binary.
Reimplemented from isc::radius::Attribute.
Definition at line 311 of file client_attribute.cc.
References getValueLen().
|
overridevirtual |
To bytes.
Implements isc::radius::Attribute.
Definition at line 299 of file client_attribute.cc.
References isc::radius::Attribute::getType(), and getValueLen().
|
overridevirtual |
Unparse attribute.
Implements isc::data::CfgToElement.
Definition at line 321 of file client_attribute.cc.
References Element::create(), Element::createMap(), isc::util::encode::encodeHex(), isc::radius::AttrDefs::getByType(), isc::radius::Attribute::getType(), isc::radius::AttrDefs::instance(), and isc::util::str::isPrintable().
|
inlineoverridevirtual |
To string.
Reimplemented from isc::radius::Attribute.
Definition at line 369 of file client_attribute.h.
|
overridevirtual |
Returns text representation of the attribute.
indent | number of spaces before printing text. |
Implements isc::radius::Attribute.
Definition at line 279 of file client_attribute.cc.
References isc::util::encode::encodeHex(), isc::radius::AttrDefs::getName(), isc::radius::Attribute::getType(), isc::radius::AttrDefs::instance(), and isc::util::str::isPrintable().
|
friend |
Make Attribute a friend class.
Definition at line 338 of file client_attribute.h.
References Attribute.
Referenced by AttrString(), AttrString(), and Attribute.