From: Arvin Schnell Date: Mon, 14 Feb 2011 16:19:01 +0000 (+0100) Subject: - allow to set root directory X-Git-Tag: v0.1.3~487 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ed7264d0a34b42013af185681b73f596c76e0e9;p=thirdparty%2Fsnapper.git - allow to set root directory --- diff --git a/snapper/Factory.cc b/snapper/Factory.cc index 1b24d8a5..1320b99f 100644 --- a/snapper/Factory.cc +++ b/snapper/Factory.cc @@ -33,10 +33,10 @@ namespace snapper Snapper* - createSnapper() + createSnapper(const string& root) { assert(!haha.get()); - haha.reset(new Snapper); + haha.reset(new Snapper(root)); return haha.get(); } diff --git a/snapper/Factory.h b/snapper/Factory.h index 3eb3bdb1..7ac61940 100644 --- a/snapper/Factory.h +++ b/snapper/Factory.h @@ -24,15 +24,20 @@ #define FACTORY_H +#include + + namespace snapper { + using std::string; + class Snapper; // Only one Snapper can be created at a time. - Snapper* createSnapper(); + Snapper* createSnapper(const string& root = "/"); void deleteSnapper(Snapper*); diff --git a/snapper/Snapper.cc b/snapper/Snapper.cc index ea5c6a7c..d3fbe53b 100644 --- a/snapper/Snapper.cc +++ b/snapper/Snapper.cc @@ -40,8 +40,8 @@ namespace snapper using namespace std; - Snapper::Snapper() - : snapshots(this), files(this), compare_callback(NULL) + Snapper::Snapper(const string& root) + : root(root), snapshots(this), files(this), compare_callback(NULL) { y2mil("Snapper constructor"); @@ -59,7 +59,7 @@ namespace snapper string Snapper::rootDir() const { - return "/"; + return root; } diff --git a/snapper/Snapper.h b/snapper/Snapper.h index 7184d56b..5518f540 100644 --- a/snapper/Snapper.h +++ b/snapper/Snapper.h @@ -45,7 +45,7 @@ namespace snapper { public: - Snapper(); + Snapper(const string& root = "/"); ~Snapper(); string rootDir() const; @@ -79,6 +79,8 @@ namespace snapper private: + const string root; + Snapshots snapshots; Snapshots::const_iterator snapshot1; diff --git a/tools/snapper.cc b/tools/snapper.cc index 3b0faa5b..5a524e90 100644 --- a/tools/snapper.cc +++ b/tools/snapper.cc @@ -25,6 +25,7 @@ map cmds; GetOpts getopts; bool quiet = false; +string root = "/"; Snapper* sh = NULL; @@ -387,6 +388,7 @@ command_help() cout << _(" Global options:") << endl << _("\t--quiet, -q\t\t\tSuppress normal output.") << endl << _("\t--table-style, -s