00001 00008 #ifndef ORG_PROGGEN_DEDUPE_DATAHOLDING_DATAHOLDING_H 00009 #define ORG_PROGGEN_DEDUPE_DATAHOLDING_DATAHOLDING_H 00010 00011 #include <searchfiles.h> 00012 #include <string> 00013 #include <sstream> 00014 #include <boost/foreach.hpp> 00015 #include "sqlitewrapper.h" 00016 00017 namespace Dedupe 00018 { 00019 namespace Dataholding 00020 { 00021 00026 class Dataholding : protected Dedupe::Dataholding::SqliteWrapper 00027 { 00028 public: 00029 00034 Dataholding( Dedupe::FilePath Path ); 00035 00036 virtual ~Dataholding() {} 00037 00043 bool AlreadyInDatabase( Dedupe::FileInfo const & File ); 00044 00049 void AddFile( Dedupe::FileInfo const &IncomingFile ); 00050 00055 void AddFiles( Dedupe::FileStream const &IncomingFiles ); 00056 00062 void UpdateFile( Dedupe::FileInfo const &Updated ); 00063 00069 void DelFile( Dedupe::FileInfo const &FileToDel ); 00070 00075 void DelFiles( Dedupe::FileStream const &FilesToDel ); 00076 00081 Dedupe::FileStream GetFiles(); 00082 00083 00084 Dedupe::FileStream SqlExec( const std::string &SqlCommand ); 00085 00086 private: 00087 Dedupe::FileStream ExecStatement( sqlite3_stmt *stmt ); 00088 Dataholding( const Dataholding & origin ); 00089 Dataholding& operator=( const Dataholding & origin); 00090 }; 00091 } 00092 } 00093 #endif