Browse Source

[3065] Added doxygen file for libdhcp_ddns

Thomas Markwalder 11 years ago
parent
commit
df4d44fb1d
4 changed files with 50 additions and 1 deletions
  1. 1 0
      doc/Doxyfile
  2. 1 0
      doc/devel/mainpage.dox
  3. 1 1
      src/lib/dhcp_ddns/Makefile.am
  4. 47 0
      src/lib/dhcp_ddns/libdhcp_ddns.dox

+ 1 - 0
doc/Doxyfile

@@ -690,6 +690,7 @@ INPUT                  = ../src/lib/exceptions \
                          ../src/lib/dhcp \
                          ../src/lib/dhcpsrv \
                          ../src/bin/dhcp4 \
+                         ../src/lib/dhcp_ddns \
                          ../src/bin/d2 \
                          ../tests/tools/perfdhcp \
                          devel

+ 1 - 0
doc/devel/mainpage.dox

@@ -66,6 +66,7 @@
  *   - @subpage allocengine
  * - @subpage dhcpDatabaseBackends
  * - @subpage perfdhcpInternals
+ * - @subpage libdhcp_ddns
  *
  * @section miscellaneousTopics Miscellaneous topics
  * - @subpage LoggingApi

+ 1 - 1
src/lib/dhcp_ddns/Makefile.am

@@ -20,7 +20,7 @@ dhcp_ddns_messages.h dhcp_ddns_messages.cc: dhcp_ddns_messages.mes
 BUILT_SOURCES = dhcp_ddns_messages.h dhcp_ddns_messages.cc
 
 # Ensure that the message file is included in the distribution
-EXTRA_DIST = dhcp_ddns_messages.mes
+EXTRA_DIST = dhcp_ddns_messages.mes libdhcp_ddns.dox
 
 # Get rid of generated message files on a clean
 CLEANFILES = *.gcno *.gcda dhcp_ddns_messages.h dhcp_ddns_messages.cc

+ 47 - 0
src/lib/dhcp_ddns/libdhcp_ddns.dox

@@ -0,0 +1,47 @@
+// Copyright (C) 2013  Internet Systems Consortium, Inc. ("ISC")
+//
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+/**
+@page libdhcp_ddns DHCP_DDNS Request IO Library
+
+@section libdhcp_ddnsIntro Libdhcp_ddns Library Introduction
+
+libdhcp_ddns is a library of classes for sending and receiving requests used
+by ISC's  DHCP-DDNS service for carrying out DHCP-driven DDNS.  These requests
+are implemented in this library by the class, NameChangeRequest.
+
+This class provides services for constructing the requests as well as
+marshalling them to and from various transport formats.  Currently, the only
+format supported is JSON, however the design of the classes in this library is such that supporting additional formats will be easy to add.
+
+For sending and receiving NameChangeRequests, this library supplies an abstract
+pair of classes, NameChangeSender and NameChangeListener.  NameChangeSender
+defines the public interface that DHCP_DDNS clients, such as DHCP servers use
+for sending requests to DHCP_DDNS.   NameChangeListener is used by request
+consumers, primarily the DHCP_DDNS service, for receiving the requests.
+
+By providing abstract interfaces, the implementation isolates the senders and
+listeners from any underlying details of request transportation.  This was done
+to allow support for a variety of transportation mechanisms.  Currently, the
+only transport supported is via UDP Sockets, though support for TCP/IP sockets
+is forthcoming.  There may eventually be an implementation which is driven
+through an RDBMS.
+
+The UDP implementation is provided by NameChangeUDPSender and NameChangeUPDListener.
+The implementation is strictly unidirectional.  This means that there is no explicit
+acknowledgement of receipt of a request, and as it is UDP there is no guarantee of
+delivery.  Once provided, transport via TCP/IP sockets will provide a more reliable
+mechanism.
+
+*/