+ bool recurse);
+ /// Removes a file from the databases
+ void RemoveFile(const 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);
+ ///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);
+ ///Checks the attributes of the database against the ones in disk
+ void CheckAttributes(bool repair, std::string& file, std::vector<std::string>& attsModified);
+