summaryrefslogtreecommitdiff
path: root/src/cstore/cstore.hpp
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2010-08-20 13:29:49 -0700
committerAn-Cheng Huang <ancheng@vyatta.com>2010-08-20 13:29:49 -0700
commitcbd1770462b2325372f90ef9200110dc66245377 (patch)
tree0bc0e2e3cb08576d20acc727d9a4e4521ea01428 /src/cstore/cstore.hpp
parent6c98b67a95f4bc35a801720dcca8460a75dcaed7 (diff)
downloadvyatta-cfg-cbd1770462b2325372f90ef9200110dc66245377.tar.gz
vyatta-cfg-cbd1770462b2325372f90ef9200110dc66245377.zip
handle "changed" status properly
* original backend implementation uses unionfs-specific "changes only" dir to determine "changed" status. this breaks when it involves deactivated nodes. * new library design uses explicit per-node "changed" marker. however, since previously "commit" only handles a root "changed" marker, the new library could not implement this scheme and used a workaround instead. * now add API functions for "commit" to properly clean up "changed" markers. * modify "commit" to use these API functions and remove the workaround from the new library.
Diffstat (limited to 'src/cstore/cstore.hpp')
-rw-r--r--src/cstore/cstore.hpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cstore/cstore.hpp b/src/cstore/cstore.hpp
index 37a3e06..4b07fab 100644
--- a/src/cstore/cstore.hpp
+++ b/src/cstore/cstore.hpp
@@ -144,6 +144,7 @@ public:
virtual bool inSession() = 0;
// common
bool markCfgPathChanged(const vector<string>& path_comps);
+ bool unmarkCfgPathChanged(const vector<string>& path_comps);
// XXX load
//bool unmarkCfgPathDeactivatedDescendants(const vector<string>& path_comps);
@@ -306,6 +307,7 @@ private:
virtual bool mark_deactivated() = 0;
virtual bool unmark_deactivated() = 0;
virtual bool unmark_deactivated_descendants() = 0;
+ virtual bool unmark_changed_with_descendants() = 0;
virtual bool mark_changed() = 0;
virtual bool remove_comment() = 0;
virtual bool set_comment(const string& comment) = 0;