From d15a22cd3463fff815bf76e3c60b18534504989d Mon Sep 17 00:00:00 2001 From: Jelte Jansen Date: Tue, 26 Jan 2010 19:57:03 +0000 Subject: [PATCH] a bit of documentation for the DataDefinition class git-svn-id: svn://bind10.isc.org/svn/bind10/branches/parkinglot@518 e5f2f494-b856-4b98-b285-d166d9295462 --- src/lib/cc/cpp/data_def.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lib/cc/cpp/data_def.h b/src/lib/cc/cpp/data_def.h index 95b8cd59e7..e5a28f8039 100644 --- a/src/lib/cc/cpp/data_def.h +++ b/src/lib/cc/cpp/data_def.h @@ -7,6 +7,12 @@ namespace isc { namespace data { + /// + /// A standard DataDefinition exception that is thrown when a + /// .spec file could not be parsed. + /// + /// TODO: use jinmei's exception class as a base and not c_str in + /// what() there class DataDefinitionError : public std::exception { public: DataDefinitionError(std::string m = "Data definition is invalid") : msg(m) {} @@ -16,9 +22,19 @@ namespace isc { namespace data { std::string msg; }; + /// + /// The \c DataDefinition class holds a data specification. + /// Each module should have a .spec file containing the specification + /// for configuration and commands for that module. + /// This class holds that specification, and provides a function to + /// validate a set of data, to see whether it conforms to the given + /// specification class DataDefinition { public: explicit DataDefinition() {}; + /// Create a \c DataDefinition instance with the given data as + /// the specification + /// \param e The Element containing the data specification explicit DataDefinition(ElementPtr e) : definition(e) {}; // todo: make check default false, or leave out option completely and always check? explicit DataDefinition(std::istream& in, const bool check = true)