#ifndef __creaImageIOSynchronizer_h_INCLUDED__ #define __creaImageIOSynchronizer_h_INCLUDED__ #include #include namespace creaImageIO { //======================================================================= /// Synchronizes a given database with disk class Synchronizer { public: /// Ctor Synchronizer(TreeHandler* th); /// Dtor ~Synchronizer(); ///Sets the tree handler to use in order to synchronize with a given database void SetTreeHandler(TreeHandler * handler){mHandler=handler;} ///Synchronizes the database in the current tree handler with disk by doing the passed action. If it is true, ///the database will be updated, otherwise a warning message will be returned. std::string Synchronize(bool update); ///Checks if the file given as a parameter exists in the drive bool FileExists(std::string file); ///Checks if the attributes of the node given as a parameter matchwith it correspondent file in disk ///NB: This method doesn't check the existence of the file, so FileExists should be called before. void AttributesMatch(bool update, std::string file, std::stringstream& mess); private: ///The tree handler TreeHandler* mHandler; ///The image reader ImageReader mReader; ///Synchronizes the given file, doing the action required and returning the result on the string supplied void SynchronizeFile(bool update, std::string file, std::stringstream& message); }; } // EO namespace creaImageIO // EOF #endif