public static IMultiFileSystemChangeFilter ToMultiFileSystemChangeFilter(this IEnumerable<SyncFolder> syncFolders, IChangeFilterFactory filterFactory) { var tuples = from syncFolder in syncFolders let filter = filterFactory.GetFilter(syncFolder.Filter) select new Tuple<string, IChangeFilter>(syncFolder.Name, filter); return new MultiFileSystemChangeFilter(tuples); }
public Synchronizer(IEqualityComparer<IFileReference> fileReferenceComparer, IChangeFilterFactory filterFactory) { if (fileReferenceComparer == null) throw new ArgumentNullException(nameof(fileReferenceComparer)); if (filterFactory == null) throw new ArgumentNullException(nameof(filterFactory)); m_FileReferenceComparer = fileReferenceComparer; m_FilterFactory = filterFactory; m_SyncActionFactory = new SyncActionFactory(fileReferenceComparer); }