00001 00008 #ifndef ORG_PROGGEN_DEDUPE_FILESEARCH_SEARCHFILES_H 00009 #define ORG_PROGGEN_DEDUPE_FILESEARCH_SEARCHFILES_H 00010 00011 #include <vector> 00012 #include <algorithm> 00013 #include "state.h" 00014 #include "fileinfo.h" 00015 00016 00017 namespace Dedupe 00018 { 00019 namespace FileSearch 00020 { 00021 00025 typedef std::vector<Dedupe::FileInfo::FileInfo> FileStream; 00026 00027 00031 class SearchFiles 00032 { 00033 public: 00034 00035 SearchFiles(); 00036 00037 ~SearchFiles() {}; 00038 00044 virtual inline Dedupe::FileSearch::FileStream const & GetFiles() const 00045 { 00046 return AllFiles; 00047 } 00048 00054 inline Dedupe::FileSearch::FileStream const & GetNotUsableFiles() const 00055 { 00056 return NotUsableFiles; 00057 } 00058 00064 inline unsigned long const & GetDirectoryCounter() const 00065 { 00066 return DirectoryCounter; 00067 } 00068 00074 inline unsigned long const & GetFileCounter() const 00075 { 00076 return FileCounter; 00077 } 00078 00084 Dedupe::State::GeneralCodes Search( 00085 Dedupe::FileInfo::FileInfo &FileObject ); 00086 00092 Dedupe::State::GeneralCodes SearchRecursive( 00093 Dedupe::FileInfo::FileInfo &FileObject ); 00094 00095 00096 protected: 00097 //All founded files stay here 00098 Dedupe::FileSearch::FileStream AllFiles, NotUsableFiles, Directories; 00099 00100 //variables to count founded files and directorys 00101 unsigned long FileCounter, DirectoryCounter; 00102 }; 00103 } 00104 } 00105 00106 00107 #endif