+ bool recurse);
+ /// Removes a file from the databases
+ void RemoveFile(tree::Node* node);
+ /// Removes files from the databases
+ void RemoveFiles(const std::vector<tree::Node*>& nodes);
+ /// Synchronizes the DB and disk by repeating the operations the user has done and returns a report
+ std::string Synchronize(bool repair, bool checkAttributes);
+ ///Recursively checks if the directory is synchronized and optionally the state of the attributes
+ void CheckSyncDirectory(const std::string &dirpath,
+ bool recursive,
+ bool repair,
+ bool checkAttributes,
+ std::vector<std::string> &i_ignorefiles,
+ std::vector<std::string> & attsModified,
+ std::vector<std::string> & newfiles);
+ ///Copies the files indicated in the vector and updates all databases
+ void CopyFiles(const std::vector<std::string>& filenames, const std::string directory );
+
+ ///Saves as the files indicated in the vector in a specific directory
+ void SaveAs(const std::vector<std::string>& filenames, std::vector<vtkImageData *> i_images);
+ ///Finds the node that matches the specified parameters
+ void FindNode(tree::Node* parent, int level,
+ const std::string& searchParam,
+ const std::string& searchVal,
+ tree::Node*& node);
+
+ ///Finds the nodes that partially match the searchVal
+ void FindNodePartial(tree::Node* parent, int level, const std::string& searchParam, const std::string& searchVal, tree::Node*& node);
+
+ ///Checks the attributes of the database against the ones in disk
+ void CheckAttributes(bool repair, std::string& file, std::vector<std::string>& attsModified);
+ ///Deletes the drive with the given name (use for all databases except maintenance and timestamp)
+ void DeleteDriveFromMainDB(const std::string& drive);
+ ///Deletes the drive with the given name (use for maintenance and timestamp databases)
+ void DeleteDriveFromOtherDB(const std::string& drive);
+ ///Edits the given field and sets the new parameters
+ void EditField(tree::Node* node, const std::string& name, const std::string& key, const std::string& val);
+ ///Returns the demanded attributes for the given file
+ void GetAttributes(const std::vector<std::string>& params,
+ const std::string& filename,
+ std::vector<std::string>& results);
+
+
+
+