diff options
Diffstat (limited to 'comparison.h')
-rw-r--r-- | comparison.h | 54 |
1 files changed, 9 insertions, 45 deletions
diff --git a/comparison.h b/comparison.h index 7dc18682..18408e95 100644 --- a/comparison.h +++ b/comparison.h @@ -1,20 +1,16 @@ // ************************************************************************** // * This file is part of the FreeFileSync project. It is distributed under * // * GNU General Public License: http://www.gnu.org/licenses/gpl.html * -// * Copyright (C) ZenJu (zhnmju123 AT gmx DOT de) - All Rights Reserved * +// * Copyright (C) ZenJu (zenju AT gmx DOT de) - All Rights Reserved * // ************************************************************************** #ifndef COMPARISON_H_INCLUDED #define COMPARISON_H_INCLUDED -#include <zen/process_priority.h> #include "file_hierarchy.h" #include "lib/process_xml.h" #include "process_callback.h" -#include "structures.h" #include "lib/norm_filter.h" -#include "lib/parallel_scan.h" - namespace zen { @@ -46,47 +42,15 @@ struct FolderPairCfg std::vector<FolderPairCfg> extractCompareCfg(const MainConfiguration& mainCfg); //fill FolderPairCfg and resolve folder pairs +//FFS core routine: +void compare(size_t fileTimeTolerance, //max allowed file time deviation + xmlAccess::OptionalDialogs& warnings, + bool allowUserInteraction, + bool runWithBackgroundPriority, -//runComparison - -//class handling comparison process -class CompareProcess -{ -public: - CompareProcess(size_t fileTimeTol, - xmlAccess::OptionalDialogs& warnings, - bool allowUserInteraction, - bool runWithBackgroundPriority, - ProcessCallback& handler); - - void startCompareProcess(const std::vector<FolderPairCfg>& cfgList, FolderComparison& output); - -private: - CompareProcess(const CompareProcess&); - CompareProcess& operator=(const CompareProcess&); - - //create comparison result table and fill category except for files existing on both sides: undefinedFiles and undefinedLinks are appended! - void categorizeSymlinkByTime(SymLinkMapping& linkObj) const; - void categorizeSymlinkByContent(SymLinkMapping& linkObj) const; - - void compareByTimeSize(const FolderPairCfg& fpConfig, BaseDirMapping& output); - void compareByContent(std::vector<std::pair<FolderPairCfg, BaseDirMapping*>>& workLoad); - - void performComparison(const FolderPairCfg& fpCfg, - BaseDirMapping& output, - std::vector<FileMapping*>& undefinedFiles, - std::vector<SymLinkMapping*>& undefinedLinks); - - std::map<DirectoryKey, DirectoryValue> directoryBuffer; //contains only *existing* directories - - const size_t fileTimeTolerance; //max allowed file time deviation - - xmlAccess::OptionalDialogs& m_warnings; - - const bool allowUserInteraction_; - ProcessCallback& procCallback; - std::unique_ptr<ScheduleForBackgroundProcessing> procBackground; -}; + const std::vector<FolderPairCfg>& cfgList, + FolderComparison& output, + ProcessCallback& callback); } #endif // COMPARISON_H_INCLUDED |