Kea 2.7.6
netconf_config.h File Reference

A collection of classes for housing and parsing the application configuration necessary for the Netconf application. More...

#include <cc/cfg_to_element.h>
#include <cc/data.h>
#include <cc/simple_parser.h>
#include <cc/user_context.h>
#include <exceptions/exceptions.h>
#include <http/url.h>
#include <cstdint>
#include <string>
#include <unordered_map>
+ Include dependency graph for netconf_config.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  isc::netconf::CfgControlSocket
 Represents a Control Socket. More...
 
class  isc::netconf::CfgServer
 Represents a Managed CfgServer. More...
 
class  isc::netconf::ControlSocketConfigParser
 Parser for CfgControlSocket. More...
 
class  isc::netconf::ServerConfigParser
 Parser for CfgServer. More...
 

Namespaces

namespace  isc
 Defines the logger used by the top-level component of kea-lfc.
 
namespace  isc::netconf
 

Typedefs

using isc::netconf::CfgControlSocketPtr = std::shared_ptr<CfgControlSocket>
 Defines a pointer for CfgControlSocket instances.
 
using isc::netconf::CfgServerPtr = std::shared_ptr<CfgServer>
 Defines a pointer for CfgServer instances.
 
using isc::netconf::CfgServersMap = std::unordered_map<std::string, CfgServerPtr>
 Defines a map of CfgServers, keyed by the name.
 
using isc::netconf::CfgServersMapPair = std::pair<std::string, CfgServerPtr>
 Defines a iterator pairing of name and CfgServer.
 
using isc::netconf::CfgServersMapPtr = std::shared_ptr<CfgServersMap>
 Defines a pointer to map of CfgServers.
 

Functions

ostream & isc::netconf::operator<< (std::ostream &os, const CfgServer &server)
 Dumps the contents of a CfgServer as text to a output stream.
 

Detailed Description

A collection of classes for housing and parsing the application configuration necessary for the Netconf application.

Note
NetconfConfig is not here: this file contains component of this class but not the class itself.

This file contains the class declarations for the class hierarchy created from the Netconf configuration and the parser classes used to create it. The application configuration consists of a list of managed server.

The parsing class hierarchy reflects this same scheme. Working top down:

A ServerMapParser handles the managed servers map invoking a ServerConfigParser to parse each server.

A ServerConfigParser handles the scalars which belong to the server as well as creating and invoking a CtrlSocketParser to parse its control socket.

A CtrlSocketParser handles the scalars which belong to the control socket.

The following is sample configuration in JSON form with extra spacing for clarity:

{
"managed-servers" :
{
"dhcp4":
{
"model": "kea-dhcp4-server",
"control-socket":
{
"socket-type": "unix",
"socket-name": "/tmp/server-v4.sock"
}
}
}
}

Definition in file netconf_config.h.