![]() |
Kea 2.7.7
|
rdata::TXTLikeImpl
class represents the TXT-like RDATA for TXT and SPF types.
More...
#include <txt_like.h>
Public Member Functions | |
TXTLikeImpl (const std::string &txtstr) | |
Constructor from string. | |
TXTLikeImpl (const TXTLikeImpl &other) | |
The copy constructor. | |
TXTLikeImpl (MasterLexer &lexer) | |
Constructor using the master lexer. | |
TXTLikeImpl (util::InputBuffer &buffer, size_t rdata_len) | |
Constructor from wire-format data. | |
int | compare (const TXTLikeImpl &other) const |
Compare two instances of TXT-like RDATA. | |
std::string | toText () const |
Convert the TXT-like data to a string. | |
void | toWire (AbstractMessageRenderer &renderer) const |
Render the TXT-like data in the wire format to an AbstractMessageRenderer object. | |
void | toWire (util::OutputBuffer &buffer) const |
Render the TXT-like data in the wire format to an OutputBuffer object. | |
rdata::TXTLikeImpl
class represents the TXT-like RDATA for TXT and SPF types.
This class implements the basic interfaces inherited by the TXT and SPF classes from the abstract rdata::Rdata
class, and provides trivial accessors to TXT-like RDATA.
Definition at line 31 of file txt_like.h.
|
inline |
Constructor from wire-format data.
buffer | A buffer storing the wire format data. |
rdata_len | The length of the RDATA in bytes, normally expected to be the value of the RDLENGTH field of the corresponding RR. |
Exceptions
InvalidRdataLength
is thrown if rdata_len exceeds the maximum. DNSMessageFORMERR
is thrown if the RR is malformed.
Definition at line 43 of file txt_like.h.
References isc_throw, isc::dns::rdata::MAX_RDLENGTH, isc::util::InputBuffer::readData(), and isc::util::InputBuffer::readUint8().
|
inlineexplicit |
Constructor from string.
CharStringTooLong | the parameter string length exceeds maximum. |
InvalidRdataText | the method cannot process the parameter data |
Definition at line 74 of file txt_like.h.
References isc::dns::MasterToken::END_OF_FILE, isc::dns::MasterLexer::getNextToken(), isc::dns::MasterToken::getType(), isc_throw, isc::dns::MasterLexer::pushSource(), and isc::Exception::what().
|
inline |
Constructor using the master lexer.
CharStringTooLong | the parameter string length exceeds maximum. |
InvalidRdataText | the method cannot process the parameter data |
lexer | A MasterLexer object parsing a master file for this RDATA. |
Definition at line 100 of file txt_like.h.
|
inline |
The copy constructor.
Trivial for now, we could've used the default one.
Definition at line 130 of file txt_like.h.
|
inline |
Compare two instances of TXT-like RDATA.
It is up to the caller to make sure that other
is an object of the same TXTLikeImpl
class.
other | the right-hand operand to compare against. |
this
would be sorted before other
. this
is identical to other
in terms of sorting order. this
would be sorted after other
. Definition at line 197 of file txt_like.h.
References isc::util::OutputBuffer::getData(), isc::util::OutputBuffer::getLength(), and isc::dns::rdata::generic::detail::TXTLikeImpl< Type, typeCode >::toWire().
|
inline |
Convert the TXT-like data to a string.
string
object that represents the TXT-like data. Definition at line 169 of file txt_like.h.
References isc::dns::rdata::generic::detail::charStringToString().
|
inline |
Render the TXT-like data in the wire format to an AbstractMessageRenderer object.
renderer | An output AbstractMessageRenderer to send the wire data to. |
Definition at line 155 of file txt_like.h.
References isc::dns::AbstractMessageRenderer::writeData().
|
inline |
Render the TXT-like data in the wire format to an OutputBuffer object.
buffer | An output buffer to store the wire data. |
Definition at line 139 of file txt_like.h.
References isc::util::OutputBuffer::writeData().
Referenced by isc::dns::rdata::generic::detail::TXTLikeImpl< Type, typeCode >::compare().