Commit fe2de233 authored by Francis Dupont's avatar Francis Dupont

[5371] Fixed doxygen errors

parent fdc6f97a
......@@ -28,12 +28,15 @@ Unfortunately this gave rise to other problems such as data duplication.) The ou
parsers was a tree of @ref isc::data::Element objects using shared pointers. This part of the
processing we can refer to as phase 1.
The Element tree was then processed by set of dedicated parsers. Each parser was able to handle its
own context, e.g. global, subnet list, subnet, pool etc. This step took the tree generated in phase
1, parsed it and generated an output configuration (e.g. @ref isc::dhcp::SrvConfig) or dynamic
structures (e.g. isc::data::Host). During this stage, a large number of parser objects derived from
@ref isc::dhcp::DhcpConfigParser could be instantiated for each scope and instance of data (e.g. to
parse 1000 host reservation entries a thousand dedicated parsers were created). For convenience,
The Element tree was then processed by set of dedicated parsers. Each
parser was able to handle its own context, e.g. global, subnet list,
subnet, pool etc. This step took the tree generated in phase 1, parsed
it and generated an output configuration (e.g. @ref
isc::dhcp::SrvConfig) or dynamic structures
(e.g. isc::data::Host). During this stage, a large number of parser
objects derived from DhcpConfigParser could be instantiated for each
scope and instance of data (e.g. to parse 1000 host reservation
entries a thousand dedicated parsers were created). For convenience,
this step is called phase 2.
Other issues with the old parsers are discussed here: @ref dhcpv6ConfigParserBison (this section is
......
......@@ -19,12 +19,12 @@ partially rewrite the parser code. The design for this effort is documented
here: http://kea.isc.org/wiki/SimpleParser It discusses the original issues
and the proposed architecture.
There are several aspects of this new approach. The base class for all parsers
is @ref isc::data::SimpleParser. It simplifies the parsers based on
@ref isc::dhcp::DhcpConfigParser by rejecting the
concept of build/commit phases. Instead, there should be a single method
called parse that takes ConstElementPtr as a single parameter (that's the
JSON structures to be parsed) and returns the config structure to be used
There are several aspects of this new approach. The base class for all
parsers is @ref isc::data::SimpleParser. It simplifies the parsers
based on DhcpConfigParser by rejecting the concept of build/commit
phases. Instead, there should be a single method called parse that
takes ConstElementPtr as a single parameter (that's the JSON
structures to be parsed) and returns the config structure to be used
in CfgMgr. An example of such a method can be the following:
@code
......
......@@ -35,8 +35,7 @@ class ParseError : public isc::Exception {
/// << " (" << getPosition(what) << ")");
/// }
/// @todo: move this header into simple_parser.h as soon as
/// there is no dependency through DhcpConfigParser
/// @todo: move this header into simple_parser.h
/// @todo: create an isc_throw like macro to add the
/// position more easily.
/// @todo: replace all references to DhcpConfigError with ConfigError,
......
......@@ -37,10 +37,10 @@ typedef std::vector<std::string> ParamsList;
/// @brief A simple parser
///
/// This class is intended to be a simpler replacement for @ref
/// isc::dhcp::DhcpConfigParser. This class has been initially created to
/// facilitate DHCPv4 and DHCPv6 servers' configuration parsing. Thus examples
/// provided herein are related to DHCP configuration. Nevertheless, this is a
/// This class is intended to be a simpler replacement for DhcpConfigParser.
/// This class has been initially created to facilitate DHCPv4 and
/// DHCPv6 servers' configuration parsing. Thus examples provided
/// herein are related to DHCP configuration. Nevertheless, this is a
/// generic class to be used in other modules too.
///
/// The simplification comes from several factors:
......
......@@ -176,7 +176,7 @@ public:
/// @brief Sets new mandatory flag.
///
/// @param status_code New numeric status code.
/// @param mandatory_flag New numeric status code.
void setMandatoryFlag(const bool mandatory_flag) {
mandatory_flag_ = mandatory_flag;
}
......
......@@ -493,7 +493,7 @@ public:
/// it into LeaseMgr (if this allocation is not fake, i.e. this is not a
/// response to SOLICIT).
///
/// This method uses host reservation if ctx.host_ is set. The easy way to
/// This method uses host reservation if ctx.hosts_ is set. The easy way to
/// set it is to call @ref findReservationDecl.
/// The host reservation is convenient, but incurs performance penalty,
/// so it can be tweaked on a per subnet basis. There are three possible modes:
......@@ -562,8 +562,8 @@ public:
/// collection as old leases.<br/>
/// @ref ClientContext6::hwaddr_ Hardware address (optional, may be null if
/// not available)<br/>
/// @ref ClientContext6::host_ Host reservation. allocateLeases6 will set
/// this field, if appropriate reservation is found.
/// @ref ClientContext6::hosts_ Host reservations. allocateLeases6 will set
/// this field, if appropriate reservations are found.
///
/// @return Allocated IPv6 leases (may be empty if allocation failed)
Lease6Collection
......@@ -1252,8 +1252,6 @@ public:
/// - @ref ClientContext4::fake_allocation_ Is this real i.e. REQUEST (false)
/// or just picking an address for DISCOVER that is not really
/// allocated (true)
/// - @ref ClientContext4::host_ Pointer to the object representing the
// static reservations (host reservations) for the client.
/// - @ref ClientContext4::callout_handle_ A callout handle (used in hooks).
/// A lease callouts will be executed if this parameter is passed.
/// - @ref ClientContext4::old_lease_ [out] Holds the pointer to a previous
......
......@@ -235,7 +235,11 @@ public:
/// This method supports v4 hosts only.
///
/// @param subnet_id subnet identifier.
/// @param addr specified address.
/// @param identifier_type Identifier type.
/// @param identifier_begin Pointer to a beginning of a buffer containing
/// an identifier.
/// @param identifier_len Identifier length.
///
/// @return true if deletion was successful, false if the host was not there.
/// @throw various exceptions in case of errors
virtual bool del4(const SubnetID& subnet_id,
......@@ -247,7 +251,11 @@ public:
/// This method supports v6 hosts only.
///
/// @param subnet_id subnet identifier.
/// @param addr specified address.
/// @param identifier_type Identifier type.
/// @param identifier_begin Pointer to a beginning of a buffer containing
/// an identifier.
/// @param identifier_len Identifier length.
///
/// @return true if deletion was successful, false if the host was not there.
/// @throw various exceptions in case of errors
virtual bool del6(const SubnetID& subnet_id,
......
......@@ -28,11 +28,12 @@ namespace dhcp {
///
/// The most common type of network, in Kea's terminology, is a subnet. The
/// @ref Subnet implements this interface. Another types of objects implementing
/// this interface are @ref SharedNetwork objects. They group multiple subnets
/// together to provide means for extending available address pools (a single
/// client may obtain IP address from any of the pools belonging to subnets in
/// the shared network), or for selecting a subnet on a given link, depending
/// on the class of the client (e.g. cable network case: different subnet is
/// this interface are @ref SharedNetwork4 and @ref SharedNetwork6 objects.
/// They group multiple subnets together to provide means for
/// extending available address pools (a single client may obtain IP
/// address from any of the pools belonging to subnets in the shared
/// network), or for selecting a subnet on a given link, depending on the
/// class of the client (e.g. cable network case: different subnet is
/// selected for cable modems, different one for routers).
///
/// The subnets and shared networks share many data structures, e.g. DHCP
......
......@@ -266,7 +266,11 @@ public:
/// This method supports v4 hosts only.
///
/// @param subnet_id subnet identifier.
/// @param addr specified address.
/// @param identifier_type Identifier type.
/// @param identifier_begin Pointer to a beginning of a buffer containing
/// an identifier.
/// @param identifier_len Identifier length.
///
/// @return true if deletion was successful, false if the host was not there.
/// @throw various exceptions in case of errors
virtual bool del4(const SubnetID& subnet_id,
......@@ -278,7 +282,11 @@ public:
/// This method supports v6 hosts only.
///
/// @param subnet_id subnet identifier.
/// @param addr specified address.
/// @param identifier_type Identifier type.
/// @param identifier_begin Pointer to a beginning of a buffer containing
/// an identifier.
/// @param identifier_len Identifier length.
///
/// @return true if deletion was successful, false if the host was not there.
/// @throw various exceptions in case of errors
virtual bool del6(const SubnetID& subnet_id,
......
......@@ -98,7 +98,7 @@ public:
/// @brief Retrieves next available IPv4 subnet within shared network.
///
/// See documentation for @ref SharedNetwork::getNextSubnet.
/// See documentation for @ref SharedNetwork4::getNextSubnet.
///
/// @param first_subnet Pointer to a subnet from which the caller is
/// iterating over subnets within shared network. This is typically a
......@@ -221,7 +221,7 @@ public:
/// @brief Retrieves next available IPv6 subnet within shared network.
///
/// See documentation for @ref SharedNetwork::getNextSubnet.
/// See documentation for @ref SharedNetwork6::getNextSubnet.
///
/// @param first_subnet Pointer to a subnet from which the caller is
/// iterating over subnets within shared network. This is typically a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment