7 #ifndef RRPARAMREGISTRY_H
8 #define RRPARAMREGISTRY_H 1
14 #include <boost/shared_ptr.hpp>
24 struct RRParamRegistryImpl;
207 void add(
const std::string& type_string, uint16_t type_code,
232 const std::string& class_string, uint16_t class_code,
244 void add(
const std::string& type_string, uint16_t type_code,
274 bool addType(
const std::string& type_string, uint16_t type_code);
317 bool addClass(
const std::string& class_string, uint16_t class_code);
387 uint16_t& type_code)
const;
425 uint16_t& class_code)
const;
476 const std::string& rdata_string);
541 #endif // RRPARAMREGISTRY_H
The Name class encapsulates DNS names.
static RRParamRegistry & getRegistry()
Return the singleton instance of RRParamRegistry.
The RRParamRegistryImpl class is the actual implementation of RRParamRegistry.
The Rdata class is an abstract base class that provides a set of common interfaces to manipulate conc...
void add(const std::string &type_string, uint16_t type_code, const std::string &class_string, uint16_t class_code, rdata::RdataFactoryPtr rdata_factory)
Add a set of parameters for a pair of RR type and class.
bool removeType(uint16_t type_code)
Remove mappings between RR type code and textual representation for a given type. ...
virtual ~AbstractRdataFactory()
The destructor.
rdata::RdataPtr createRdata(const RRType &rrtype, const RRClass &rrclass, const std::string &rdata_string)
Create RDATA of a given pair of RR type and class from a string.
The RRClass class encapsulates DNS resource record classes.
AbstractRdataFactory()
The default constructor.
RRTypeExists(const char *file, size_t line, const char *what)
Options
Options how the parsing should work.
The AbstractRdataFactory class is an abstract base class to encapsulate a set of Rdata factory method...
A standard DNS module exception that is thrown if a new RR class is being registered with a different...
RRClassExists(const char *file, size_t line, const char *what)
bool removeRdataFactory(const RRType &rrtype, const RRClass &rrclass)
Remove registered RDATA factory for the given pair of RRType and RRClass.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
The RRParamRegistry class represents a registry of parameters to manipulate DNS resource records (RRs...
boost::shared_ptr< AbstractRdataFactory > RdataFactoryPtr
The RdataFactoryPtr type is a pointer-like type, pointing to an object of some concrete derived class...
Defines the logger used by the top-level component of kea-dhcp-ddns.
bool removeClass(uint16_t class_code)
Remove mappings between RR class code and textual representation for a given class.
bool textToTypeCode(const std::string &type_string, uint16_t &type_code) const
Convert a textual representation of an RR type to the corresponding 16-bit integer code...
A standard DNS module exception that is thrown if a new RR type is being registered with a different ...
bool textToClassCode(const std::string &class_string, uint16_t &class_code) const
Convert a textual representation of an RR class to the corresponding 16-bit integer code...
The RRType class encapsulates DNS resource record types.
virtual RdataPtr create(const std::string &rdata_str) const =0
Create RDATA from a string.
bool addType(const std::string &type_string, uint16_t type_code)
Add mappings between RR type code and textual representation.
bool addClass(const std::string &class_string, uint16_t class_code)
Add mappings between RR class code and textual representation.
Tokenizer for parsing DNS master files.
Set of issue callbacks for a loader.
std::string codeToClassText(uint16_t class_code) const
Convert class code into its textual representation.
boost::shared_ptr< Rdata > RdataPtr
The RdataPtr type is a pointer-like type, pointing to an object of some concrete derived class of Rda...
std::string codeToTypeText(uint16_t type_code) const
Convert type code into its textual representation.