Kea 2.5.8
isc::dns::RdataFactory< T > Class Template Reference
+ Inheritance diagram for isc::dns::RdataFactory< T >:

Public Member Functions

virtual RdataPtr create (const Rdata &source) const
 Create RDATA from another Rdata object of the same type.
 
virtual RdataPtr create (const string &rdata_str) const
 Create RDATA from a string.
 
virtual RdataPtr create (InputBuffer &buffer, size_t rdata_len) const
 Create RDATA from wire-format data.
 
virtual RdataPtr create (MasterLexer &lexer, const Name *origin, MasterLoader::Options options, MasterLoaderCallbacks &callbacks) const
 Create RDATA using MasterLexer.
 
- Public Member Functions inherited from isc::dns::rdata::AbstractRdataFactory
virtual ~AbstractRdataFactory ()
 The destructor.
 

Additional Inherited Members

- Protected Member Functions inherited from isc::dns::rdata::AbstractRdataFactory
 AbstractRdataFactory ()
 The default constructor.
 

Detailed Description

template<typename T>
class isc::dns::RdataFactory< T >

Definition at line 153 of file rrparamregistry.cc.

Member Function Documentation

◆ create() [1/4]

template<typename T >
virtual RdataPtr isc::dns::RdataFactory< T >::create ( const Rdata source) const
inlinevirtual

Create RDATA from another Rdata object of the same type.

This method creates an Rdata object of specific class corresponding to the specific derived class of AbstractRdataFactory, copying the content of the given Rdata, source.

source must be an object of the concrete derived class corresponding to the specific derived class of AbstractRdataFactory; otherwise, an exception of class std::bad_cast will be thrown.

Parameters
sourceA reference to an Rdata object whose content is to be copied to the created Rdata object.
Returns
An RdataPtr object pointing to the created Rdata object.

Implements isc::dns::rdata::AbstractRdataFactory.

Definition at line 163 of file rrparamregistry.cc.

◆ create() [2/4]

template<typename T >
virtual RdataPtr isc::dns::RdataFactory< T >::create ( const string &  rdata_str) const
inlinevirtual

Create RDATA from a string.

This method creates from a string an Rdata object of specific class corresponding to the specific derived class of AbstractRdataFactory.

Parameters
rdata_strA string of textual representation of the Rdata.
Returns
An RdataPtr object pointing to the created Rdata object.

Implements isc::dns::rdata::AbstractRdataFactory.

Definition at line 155 of file rrparamregistry.cc.

◆ create() [3/4]

template<typename T >
virtual RdataPtr isc::dns::RdataFactory< T >::create ( InputBuffer buffer,
size_t  rdata_len 
) const
inlinevirtual

Create RDATA from wire-format data.

This method creates from wire-format binary data an Rdata object of specific class corresponding to the specific derived class of AbstractRdataFactory.

Parameters
bufferA reference to an InputBuffer object storing the Rdata to parse.
rdata_lenThe length in buffer of the Rdata. In bytes.
Returns
An RdataPtr object pointing to the created Rdata object.

Implements isc::dns::rdata::AbstractRdataFactory.

Definition at line 159 of file rrparamregistry.cc.

◆ create() [4/4]

template<typename T >
virtual RdataPtr isc::dns::RdataFactory< T >::create ( MasterLexer lexer,
const Name origin,
MasterLoader::Options  options,
MasterLoaderCallbacks callbacks 
) const
inlinevirtual

Create RDATA using MasterLexer.

This version of the method defines the entry point of factory of a specific RR type and class for RRParamRegistry::createRdata() that uses MasterLexer. See its description for the expected behavior and meaning of the parameters.

Implements isc::dns::rdata::AbstractRdataFactory.

Definition at line 167 of file rrparamregistry.cc.


The documentation for this class was generated from the following file: