[svn] commit: r1045 - in /trunk/src/lib/config/cpp: ccsession.cc ccsession.h config_data.h

BIND 10 source code commits bind10-changes at lists.isc.org
Sun Feb 28 21:52:11 UTC 2010


Author: jelte
Date: Sun Feb 28 21:52:10 2010
New Revision: 1045

Log:
make ModuleCCSession a subclass of ConfigData, so the module can directly get the configuration data it needs (same as in python version)

Modified:
    trunk/src/lib/config/cpp/ccsession.cc
    trunk/src/lib/config/cpp/ccsession.h
    trunk/src/lib/config/cpp/config_data.h

Modified: trunk/src/lib/config/cpp/ccsession.cc
==============================================================================
--- trunk/src/lib/config/cpp/ccsession.cc (original)
+++ trunk/src/lib/config/cpp/ccsession.cc Sun Feb 28 21:52:10 2010
@@ -221,7 +221,7 @@
         answer = createAnswer(2, ss.str());
     } else {
         // remove the values that have not changed
-        isc::data::removeIdentical(new_config, getConfig());
+        isc::data::removeIdentical(new_config, getLocalConfig());
         // handle config update
         answer = config_handler_(new_config);
         int rcode;

Modified: trunk/src/lib/config/cpp/ccsession.h
==============================================================================
--- trunk/src/lib/config/cpp/ccsession.h (original)
+++ trunk/src/lib/config/cpp/ccsession.h Sun Feb 28 21:52:10 2010
@@ -19,6 +19,7 @@
 
 #include <string>
 
+#include <config/config_data.h>
 #include <config/module_spec.h>
 #include <cc/session.h>
 #include <cc/data.h>
@@ -42,7 +43,7 @@
 /// holds configuration information, and handles messages from
 /// the command channel
 ///
-class ModuleCCSession {
+class ModuleCCSession : public ConfigData {
 public:
     /**
      * Initialize a config/command session
@@ -89,7 +90,6 @@
      */
     void set_command_handler(isc::data::ElementPtr(*command_handler)(const std::string& command, const isc::data::ElementPtr args)) { command_handler_ = command_handler; };
 
-    const ElementPtr getConfig() { return config_; }
 private:
     void read_module_specification(const std::string& filename);
     

Modified: trunk/src/lib/config/cpp/config_data.h
==============================================================================
--- trunk/src/lib/config/cpp/config_data.h (original)
+++ trunk/src/lib/config/cpp/config_data.h Sun Feb 28 21:52:10 2010
@@ -44,6 +44,8 @@
     /// and an empty configuration.
     /// \param module_spec A ModuleSpec for the relevant module
     ConfigData(const ModuleSpec& module_spec) : _module_spec(module_spec) { _config = Element::createFromString("{}"); }
+
+    virtual ~ConfigData() {};
 
     /// Returns the value currently set for the given identifier
     /// If no value is set, the default value (as specified by the




More information about the bind10-changes mailing list