00001 #ifndef SAMPLE_HANDLER_SAMPLE_LOCAL_HH
00002 #define SAMPLE_HANDLER_SAMPLE_LOCAL_HH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <SampleHandler/Global.h>
00015
00016 #include <string>
00017 #include <vector>
00018 #include <SampleHandler/Sample.h>
00019
00020 namespace SH
00021 {
00033 class SampleLocal : public Sample
00034 {
00035
00036
00037
00038
00043 public:
00044 void testInvariant () const;
00045
00046
00054 public:
00055 SampleLocal ();
00056
00057
00064 public:
00065 SampleLocal (const std::string& name);
00066
00067
00075 public:
00076 void add (const std::string& file);
00077
00078
00079
00080
00081
00082
00083
00085 protected:
00086 virtual std::size_t getNumFiles () const;
00087
00089 protected:
00090 virtual std::string getFileName (std::size_t index) const;
00091
00093 protected:
00094 virtual SamplePtr doMakeLocal () const;
00095
00097 protected:
00098 virtual std::vector<std::string> doMakeFileList () const;
00099
00101 protected:
00102 virtual void
00103 doUpdateLocation (const std::string& from, const std::string& to);
00104
00105
00106
00107
00108
00109
00110
00112 private:
00113 std::vector<std::string> m_files;
00114
00116 private:
00117 typedef std::vector<std::string>::const_iterator FilesIter;
00118
00120 private:
00121 typedef std::vector<std::string>::iterator FilesMIter;
00122
00123 ClassDef (SampleLocal, 1);
00124 };
00125 }
00126
00127 #endif