Browse Source

rest of doxygen for DataDefinition class

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/parkinglot@522 e5f2f494-b856-4b98-b285-d166d9295462
Jelte Jansen 15 years ago
parent
commit
98cb1b7335
2 changed files with 21 additions and 4 deletions
  1. 3 3
      src/lib/cc/cpp/data_def.cc
  2. 18 1
      src/lib/cc/cpp/data_def.h

+ 3 - 3
src/lib/cc/cpp/data_def.cc

@@ -121,8 +121,8 @@ check_command_list(const ElementPtr& spec) {
 static void
 check_data_specification(const ElementPtr& spec) {
     check_leaf_item(spec, "module_name", Element::string, true);
-    // not mandatory; module could just define commands and have
-    // no config
+    // config_data is not mandatory; module could just define
+    // commands and have no config
     if (spec->contains("config_data")) {
         check_config_item_list(spec->get("config_data"));
     }
@@ -140,7 +140,7 @@ check_definition(const ElementPtr& def)
         throw DataDefinitionError("Data specification does not contain data_specification element");
     } else {
         check_data_specification(def->get("data_specification"));
-    }    
+    }
 }
 
 DataDefinition::DataDefinition(std::istream& in, const bool check)

+ 18 - 1
src/lib/cc/cpp/data_def.h

@@ -9,7 +9,7 @@ namespace isc { namespace data {
 
     ///
     /// A standard DataDefinition exception that is thrown when a
-    /// .spec file could not be parsed.
+    /// specification is not in the correct form.
     ///
     /// TODO: use jinmei's exception class as a base and not c_str in
     /// what() there
@@ -29,6 +29,9 @@ namespace isc { namespace data {
     /// This class holds that specification, and provides a function to
     /// validate a set of data, to see whether it conforms to the given
     /// specification
+    ///
+    /// The form of the specification is described in doc/ (TODO)
+    ///
     class DataDefinition {
     public:
         explicit DataDefinition() {};
@@ -37,12 +40,26 @@ namespace isc { namespace data {
         /// \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?
+        /// Creates a \c DataDefinition instance from the given .spec
+        /// file stream. If check is true, and the definition is not of
+        /// the correct form, a DataDefinitionError is thrown. If the
+        /// file could not be parsed, a ParseError is thrown.
+        /// \param in The std::istream containing the .spec file data
+        /// \param check If true, the data definition is checked to be
+        /// of the correct form
         explicit DataDefinition(std::istream& in, const bool check = true)
                                 throw(ParseError, DataDefinitionError);
 
+        /// Returns the base \c element of the data definition contained
+        /// by this instance
+        /// \return ElementPtr Shared pointer to the data definition
         const ElementPtr getDefinition() { return definition; };
         // returns true if the given element conforms to this data
         // definition scheme
+        /// Validates the given data for this specification.
+        /// \param data The base \c Element of the data to check
+        /// \return true if the data conforms to the specification,
+        /// false otherwise.
         bool validate(const ElementPtr data);
 
     private: