protected FolderContentsMapper(FolderMapping folderMapping, ISourceFolder srcFolder, FolderHierarchy sourceHierarchy, IDestinationFolder destFolder, FolderHierarchy destHierarchy, ConflictResolutionOption conflictResolutionOption, FAICopyOption faiCopyOption, FolderContentsMapperFlags mapperFlags) { this.folderMapping = folderMapping; this.srcFolder = srcFolder; this.destFolder = destFolder; this.destHierarchy = destHierarchy; this.sourceHierarchy = sourceHierarchy; this.conflictResolutionOption = conflictResolutionOption; this.faiCopyOption = faiCopyOption; this.sourceMapping = new EntryIdMap <MessageRec>(); this.targetMapping = new EntryIdMap <MessageRec>(); this.mapperFlags = mapperFlags; }
public static FolderContentsMapper Create(FolderMapping folderMapping, ISourceFolder srcFolder, FolderHierarchy sourceHierarchy, IDestinationFolder destFolder, FolderHierarchy destHierarchy, ConflictResolutionOption conflictResolutionOption, FAICopyOption faiCopyOption, FolderContentsMapperFlags mapperFlags) { if (!mapperFlags.HasFlag(FolderContentsMapperFlags.ImapSync)) { return(new FolderContentsMapper(folderMapping, srcFolder, sourceHierarchy, destFolder, destHierarchy, conflictResolutionOption, faiCopyOption, mapperFlags)); } return(new ImapFolderContentsMapper(folderMapping, srcFolder, sourceHierarchy, destFolder, destHierarchy, conflictResolutionOption, faiCopyOption, mapperFlags)); }
public static bool ShouldItemBeIgnored(MessageRec msgRec, EntryIdMap <BadItemMarker> badItemMarkers, FAICopyOption faiCopyOption, out string faiMessageClass) { faiMessageClass = null; if (msgRec.IsFAI) { if (faiCopyOption == FAICopyOption.DoNotCopy) { return(true); } faiMessageClass = (msgRec[PropTag.MessageClass] as string); if (!string.IsNullOrEmpty(faiMessageClass) && FolderContentsMapper.IgnoredFaiMessageClasses.Contains(faiMessageClass)) { return(true); } } if (badItemMarkers != null && badItemMarkers.ContainsKey(msgRec.EntryId)) { BadItemMarker badItemMarker = badItemMarkers[msgRec.EntryId]; if (FolderContentsMapper.SkippedBadItemKinds.Contains(badItemMarker.Kind)) { return(true); } } return(false); }
public ImapFolderContentsMapper(FolderMapping folderMapping, ISourceFolder srcFolder, FolderHierarchy sourceHierarchy, IDestinationFolder destFolder, FolderHierarchy destHierarchy, ConflictResolutionOption conflictResolutionOption, FAICopyOption faiCopyOption, FolderContentsMapperFlags mapperFlags) : base(folderMapping, srcFolder, sourceHierarchy, destFolder, destHierarchy, conflictResolutionOption, faiCopyOption, mapperFlags) { }