Esempio n. 1
0
 public override void EnumerateSubtree(EnumHierarchyFlags flags, FolderRecWrapper root, FolderMap.EnumFolderCallback callback)
 {
     FolderMap.EnumFolderContext enumFolderContext = new FolderMap.EnumFolderContext();
     enumFolderContext.Result = EnumHierarchyResult.Continue;
     foreach (KeyValuePair <byte[], FolderRecWrapper> keyValuePair in this.folders)
     {
         callback(keyValuePair.Value, enumFolderContext);
     }
 }
Esempio n. 2
0
 public virtual void EnumerateSubtree(EnumHierarchyFlags flags, FolderRecWrapper root, FolderMap.EnumFolderCallback callback)
 {
     FolderMap.EnumFolderContext ctx = new FolderMap.EnumFolderContext();
     this.EnumSingleFolder(root, ctx, callback, flags);
 }
Esempio n. 3
0
 private void EnumSingleFolder(FolderRecWrapper folderRec, FolderMap.EnumFolderContext ctx, FolderMap.EnumFolderCallback callback, EnumHierarchyFlags flags)
 {
     ctx.Result = EnumHierarchyResult.Continue;
     if (folderRec.IsSpoolerQueue)
     {
         return;
     }
     if (FolderMap.IsValidFolderType(flags, folderRec))
     {
         callback(folderRec, ctx);
     }
     if (ctx.Result == EnumHierarchyResult.Cancel || ctx.Result == EnumHierarchyResult.SkipSubtree)
     {
         return;
     }
     if (folderRec.Children != null)
     {
         foreach (FolderRecWrapper folderRec2 in folderRec.Children)
         {
             ctx.Result = EnumHierarchyResult.Continue;
             this.EnumSingleFolder(folderRec2, ctx, callback, flags);
             if (ctx.Result == EnumHierarchyResult.Cancel)
             {
                 break;
             }
         }
     }
 }
Esempio n. 4
0
 public void EnumerateFolderHierarchy(EnumHierarchyFlags flags, FolderMap.EnumFolderCallback callback)
 {
     this.EnumerateSubtree(flags, this.RootRec, callback);
 }