7 #ifndef OPTION6_CLIENT_FQDN_H
8 #define OPTION6_CLIENT_FQDN_H
35 class Option6ClientFqdnImpl;
120 const std::string& domain_name,
168 bool getFlag(
const uint8_t flag)
const;
182 void setFlag(
const uint8_t flag,
const bool set);
250 virtual std::string
toText(
int indent = 0)
const;
256 virtual uint16_t
len()
const;
270 #endif // OPTION6_CLIENT_FQDN_H
static const uint8_t FLAG_N
N bit.
Option6ClientFqdn(const uint8_t flags, const std::string &domain_name, const DomainNameType domain_name_type=FULL)
Constructor, creates option instance using flags and domain name.
virtual void unpack(OptionBufferConstIter first, OptionBufferConstIter last)
Parses option from the received buffer.
virtual void pack(isc::util::OutputBuffer &buf) const
Writes option in the wire format into a buffer.
Represents DHCPv6 Client FQDN Option (code 39).
std::string getDomainName() const
Returns the domain-name in the text format.
static const uint8_t FLAG_O
O bit.
InvalidOption6FqdnFlags(const char *file, size_t line, const char *what)
static const uint16_t FLAG_FIELD_LEN
The length of the flag field within DHCPv6 Client Fqdn Option.
virtual uint16_t len() const
Returns length of the complete option (data length + DHCPv6 option header).
boost::shared_ptr< Option > OptionPtr
static const uint8_t FLAG_MASK
Mask which zeroes MBZ flag bits.
void setDomainName(const std::string &domain_name, const DomainNameType domain_name_type)
Set new domain-name.
virtual std::string toText(int indent=0) const
Returns string representation of the option.
Option6ClientFqdn & operator=(const Option6ClientFqdn &source)
Assignment operator.
bool getFlag(const uint8_t flag) const
Checks if the specified flag of the DHCPv6 Client FQDN Option is set.
boost::shared_ptr< Option6ClientFqdn > Option6ClientFqdnPtr
A pointer to the Option6ClientFqdn object.
Implements the logic for the Option6ClientFqdn class.
Exception thrown when invalid flags have been specified for DHCPv6 Client Fqdn Option.
void resetFlags()
Sets the flag field value to 0.
virtual ~Option6ClientFqdn()
Destructor.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
The OutputBuffer class is a buffer abstraction for manipulating mutable data.
OptionBuffer::const_iterator OptionBufferConstIter
const_iterator for walking over OptionBuffer
This is a base class for exceptions thrown from the DNS library module.
Defines the logger used by the top-level component of kea-dhcp-ddns.
virtual OptionPtr clone() const
Copies this option and returns a pointer to the copy.
static const uint8_t FLAG_S
S bit.
DomainNameType
Type of the domain-name: partial or full.
InvalidOption6FqdnDomainName(const char *file, size_t line, const char *what)
void resetDomainName()
Set empty domain-name.
void setFlag(const uint8_t flag, const bool set)
Modifies the value of the specified DHCPv6 Client Fqdn Option flag.
void packDomainName(isc::util::OutputBuffer &buf) const
Writes domain-name in the wire format into a buffer.
Exception thrown when invalid domain name is specified.
DomainNameType getDomainNameType() const
Returns enumerator value which indicates whether domain-name is partial or full.