diff options
author | An-Cheng Huang <ancheng@vyatta.com> | 2010-08-20 13:29:49 -0700 |
---|---|---|
committer | An-Cheng Huang <ancheng@vyatta.com> | 2010-08-20 13:29:49 -0700 |
commit | cbd1770462b2325372f90ef9200110dc66245377 (patch) | |
tree | 0bc0e2e3cb08576d20acc727d9a4e4521ea01428 /src/cstore/cstore.hpp | |
parent | 6c98b67a95f4bc35a801720dcca8460a75dcaed7 (diff) | |
download | vyatta-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.hpp | 2 |
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; |