13#include <boost/noncopyable.hpp>
77 const Name& zone_origin,
91 const Name& zone_origin,
179 class MasterLoaderImpl;
180 std::unique_ptr<MasterLoaderImpl> impl_;
This is a base class for exceptions thrown from the DNS library module.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
Set of issue callbacks for a loader.
Error while loading by MasterLoader without specifying the MANY_ERRORS option.
MasterLoaderError(const char *file, size_t line, const char *what)
A class able to load DNS master files.
size_t getPosition() const
Return the position of the loader in zone.
void load()
Load everything.
MasterLoader(const char *master_file, const Name &zone_origin, const RRClass &zone_class, const MasterLoaderCallbacks &callbacks, const AddRRCallback &add_callback, Options options=DEFAULT)
Constructor.
bool loadedSuccessfully() const
Was the loading successful?
Options
Options how the parsing should work.
@ MANY_ERRORS
Lenient mode (see documentation of MasterLoader constructor).
@ DEFAULT
Nothing special.
~MasterLoader()
Destructor.
size_t getSize() const
Return the total size of the zone files and streams.
bool loadIncremental(size_t count_limit)
Load some RRs.
The Name class encapsulates DNS names.
The RRClass class encapsulates DNS resource record classes.
std::function< void(const Name &name, const RRClass &rrclass, const RRType &rrtype, const RRTTL &rrttl, const rdata::RdataPtr &rdata) AddRRCallback)
Type of callback to add a RR.
Defines the logger used by the top-level component of kea-lfc.