// Token: 0x060001DF RID: 479 RVA: 0x00006E88 File Offset: 0x00005088 public static AnchorDataProvider CreateProviderForMigrationMailboxFolder(AnchorContext context, AnchorADProvider activeDirectoryProvider, string folderName) { AnchorUtil.ThrowOnNullArgument(context, "context"); AnchorUtil.ThrowOnNullArgument(activeDirectoryProvider, "activeDirectoryProvider"); AnchorUtil.ThrowOnNullArgument(folderName, "folderName"); return(AnchorDataProvider.CreateProviderForMailboxSession(context, activeDirectoryProvider, folderName, new Func <ExchangePrincipal, MailboxSession>(AnchorDataProvider.OpenMailboxSession))); }
// Token: 0x060001E7 RID: 487 RVA: 0x000073B4 File Offset: 0x000055B4 public IAnchorDataProvider GetProviderForFolder(AnchorContext context, string folderName) { IAnchorDataProvider result; using (DisposeGuard disposeGuard = default(DisposeGuard)) { AnchorFolder disposable = AnchorFolder.GetFolder(this.anchorContext, this.MailboxSession, folderName); disposeGuard.Add <AnchorFolder>(disposable); AnchorDataProvider anchorDataProvider = new AnchorDataProvider(context, this.activeDirectoryProvider, this.MailboxSession, disposable, false); disposeGuard.Success(); result = anchorDataProvider; } return(result); }
// Token: 0x060001EA RID: 490 RVA: 0x00007478 File Offset: 0x00005678 private static AnchorDataProvider CreateProviderForMailboxSession(AnchorContext context, AnchorADProvider activeDirectoryProvider, string folderName, Func <ExchangePrincipal, MailboxSession> mailboxSessionCreator) { AnchorUtil.ThrowOnNullArgument(mailboxSessionCreator, "mailboxSessionCreator"); AnchorDataProvider result; using (DisposeGuard disposeGuard = default(DisposeGuard)) { ExchangePrincipal mailboxOwner = activeDirectoryProvider.GetMailboxOwner(AnchorDataProvider.GetMailboxFilter(context.AnchorCapability)); MailboxSession disposable = mailboxSessionCreator(mailboxOwner); disposeGuard.Add <MailboxSession>(disposable); AnchorFolder disposable2 = AnchorFolder.GetFolder(context, disposable, folderName); disposeGuard.Add <AnchorFolder>(disposable2); AnchorDataProvider anchorDataProvider = new AnchorDataProvider(context, activeDirectoryProvider, disposable, disposable2, true); disposeGuard.Success(); result = anchorDataProvider; } return(result); }
// Token: 0x060001E4 RID: 484 RVA: 0x000072C0 File Offset: 0x000054C0 public IEnumerable <StoreObjectId> FindMessageIds(QueryFilter queryFilter, PropertyDefinition[] properties, SortBy[] sortBy, AnchorRowSelector rowSelector, int?maxCount) { AnchorUtil.ThrowOnCollectionEmptyArgument(sortBy, "sortBy"); if (maxCount == null || maxCount.Value > 0) { if (properties == null) { properties = new PropertyDefinition[0]; } PropertyDefinition[] columns = new PropertyDefinition[1 + properties.Length]; columns[0] = ItemSchema.Id; Array.Copy(properties, 0, columns, 1, properties.Length); using (IQueryResult itemQueryResult = this.folder.Folder.IItemQuery(ItemQueryType.Associated, queryFilter, sortBy, columns)) { foreach (StoreObjectId id in AnchorDataProvider.ProcessQueryRows(columns, itemQueryResult, rowSelector, 0, maxCount)) { yield return(id); } } } yield break; }