// Token: 0x06000627 RID: 1575 RVA: 0x0002F4D8 File Offset: 0x0002D6D8
        internal void Invoke(MailboxDataForTags mailboxDataForTags, ElcParameters parameters)
        {
            SysCleanupEnforcerManager.Tracer.TraceDebug((long)this.GetHashCode(), "{0}: Invoke called.", new object[]
            {
                TraceContext.Get()
            });
            ICollection <SysCleanupEnforcerBase> collection;

            if (parameters != ElcParameters.None)
            {
                collection = new List <SysCleanupEnforcerBase>();
                if ((parameters & ElcParameters.HoldCleanup) == ElcParameters.HoldCleanup)
                {
                    collection.Add(new HoldCleanupEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant));
                }
                if ((parameters & ElcParameters.EHAHiddenFolderCleanup) == ElcParameters.EHAHiddenFolderCleanup)
                {
                    collection.Add(new EHAHiddenFolderCleanupEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant));
                }
            }
            else
            {
                collection = new List <SysCleanupEnforcerBase>(new SysCleanupEnforcerBase[]
                {
                    new MigrateToArchiveEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new DumpsterExpirationEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new CalendarLogExpirationEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new AuditExpirationEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new DumpsterQuotaEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new AuditQuotaEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new SupplementExpirationEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new EHAQuotaWarningEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new EHAMigratedMessageMoveEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new EHAMigratedMessageDeletionEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant),
                    new DiscoveryHoldEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant)
                });
                if (mailboxDataForTags.HoldCleanupFolderType != DefaultFolderType.None)
                {
                    collection.Add(new HoldCleanupEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant));
                }
                if (mailboxDataForTags.IsEHAHiddenFolderWatermarkSet())
                {
                    collection.Add(new EHAHiddenFolderCleanupEnforcer(mailboxDataForTags, this.sysCleanupSubAssistant));
                }
            }
            foreach (SysCleanupEnforcerBase sysCleanupEnforcerBase in collection)
            {
                this.sysCleanupSubAssistant.ThrowIfShuttingDown(mailboxDataForTags.MailboxSession.MailboxOwner);
                SysCleanupEnforcerManager.Tracer.TraceDebug <object, SysCleanupEnforcerBase>((long)this.GetHashCode(), "{0}: Calling enabled enforcer '{1}'.", TraceContext.Get(), sysCleanupEnforcerBase);
                mailboxDataForTags.StatisticsLogEntry.LastProcessedEnforcer = sysCleanupEnforcerBase.GetType().Name;
                sysCleanupEnforcerBase.Invoke();
            }
        }
Exemplo n.º 2
0
        private ElcParameters GetElcParameters()
        {
            ElcParameters elcParameters = ElcParameters.None;

            if (this.HoldCleanup)
            {
                elcParameters |= ElcParameters.HoldCleanup;
            }
            if (this.EHAHiddenFolderCleanup)
            {
                elcParameters |= ElcParameters.EHAHiddenFolderCleanup;
            }
            return(elcParameters);
        }
Exemplo n.º 3
0
 // Token: 0x0600062E RID: 1582 RVA: 0x0002FA18 File Offset: 0x0002DC18
 private void InvokeInternal(MailboxSession mailboxSession, MailboxDataForTags mailboxDataForTags, ElcParameters parameters)
 {
     this.sysCleanupEnforcerManager.Invoke(mailboxDataForTags, parameters);
     this.CheckArchiveWarningQuota(mailboxSession, mailboxDataForTags);
 }
Exemplo n.º 4
0
        // Token: 0x0600062D RID: 1581 RVA: 0x0002F9D8 File Offset: 0x0002DBD8
        internal void Invoke(MailboxSession mailboxSession, MailboxDataForTags mailboxDataForTags, ElcParameters parameters)
        {
            Stopwatch stopwatch = Stopwatch.StartNew();

            try
            {
                this.InvokeInternal(mailboxSession, mailboxDataForTags, parameters);
            }
            finally
            {
                mailboxDataForTags.StatisticsLogEntry.CleanupSubAssistantProcessingTime = stopwatch.ElapsedMilliseconds;
            }
        }