diff options
author | An-Cheng Huang <ancheng@vyatta.com> | 2011-01-05 16:44:31 -0800 |
---|---|---|
committer | An-Cheng Huang <ancheng@vyatta.com> | 2011-01-05 16:52:12 -0800 |
commit | d4111b01462641baa21978a78390215987a5958a (patch) | |
tree | e6a53a4f19f8b197aeb45879d90384b8fd2538d1 /src/cstore/cstore.cpp | |
parent | 15022218e4e6983c661ccf1e7beefd598a96e628 (diff) | |
download | vyatta-cfg-d4111b01462641baa21978a78390215987a5958a.tar.gz vyatta-cfg-d4111b01462641baa21978a78390215987a5958a.zip |
fix for bug 6641
* change shell API to only use "edit level" when needed.
* add factory functions for cstore creation to simplify code.
(cherry picked from commit 2208bfef1004295d3227492c6a3e9d7b36903db5)
Diffstat (limited to 'src/cstore/cstore.cpp')
-rw-r--r-- | src/cstore/cstore.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/cstore/cstore.cpp b/src/cstore/cstore.cpp index 2aefed6..b6b55be 100644 --- a/src/cstore/cstore.cpp +++ b/src/cstore/cstore.cpp @@ -30,6 +30,7 @@ #include <cli_cstore.h> #include <cstore/cstore.hpp> +#include <cstore/unionfs/cstore-unionfs.hpp> #include <cstore/cstore-varref.hpp> #include <cnode/cnode.hpp> #include <cnode/cnode-algorithm.hpp> @@ -95,6 +96,22 @@ Cstore::Cstore(string& env) } +////// factory functions +// for "current session" (see UnionfsCstore constructor for details) +Cstore * +Cstore::createCstore(bool use_edit_level) +{ + return (new UnionfsCstore(use_edit_level)); +} + +// for "specific session" (see UnionfsCstore constructor for details) +Cstore * +Cstore::createCstore(const string& session_id, string& env) +{ + return (new UnionfsCstore(session_id, env)); +} + + ////// public interface /* check if specified "logical path" corresponds to a valid template. * validate_vals: whether to validate "values" along specified path. |