// Token: 0x06000418 RID: 1048 RVA: 0x0001CFF8 File Offset: 0x0001B1F8
        internal void DeleteConfigMessage(IArchiveProcessor archiveProcessor)
        {
            StoreId defaultFolderId = base.MailboxSession.GetDefaultFolderId(DefaultFolderType.Inbox);

            base.MailboxSession.UserConfigurationManager.DeleteFolderConfigurations(defaultFolderId, new string[]
            {
                "MRM"
            });
            IMailboxInfo archiveMailbox = base.MailboxSession.MailboxOwner.GetArchiveMailbox();

            if (!base.MailboxSession.MailboxOwner.MailboxInfo.IsArchive && archiveProcessor != null && archiveMailbox != null && archiveMailbox.IsRemote)
            {
                CloudArchiveProcessor cloudArchiveProcessor = archiveProcessor as CloudArchiveProcessor;
                if (cloudArchiveProcessor != null && cloudArchiveProcessor.ArchiveEwsClient != null)
                {
                    cloudArchiveProcessor.DeleteConfigItemInArchive();
                }
            }
        }
        // Token: 0x06000417 RID: 1047 RVA: 0x0001CE4C File Offset: 0x0001B04C
        internal bool SaveConfigItem(IArchiveProcessor archiveProcessor)
        {
            bool      result = false;
            Exception arg    = null;

            try
            {
                MrmFaiFormatter.Serialize(this.storeTagDictionary, this.storeDefaultArchiveTagDictionary, this.deletedTags, new RetentionHoldData(base.SuspendExpiration, base.ADUser.RetentionComment, base.ADUser.RetentionUrl), this.configItem, false, base.MailboxSession.MailboxOwner);
                this.configItem.Save();
                IMailboxInfo archiveMailbox = base.MailboxSession.MailboxOwner.GetArchiveMailbox();
                if (!base.MailboxSession.MailboxOwner.MailboxInfo.IsArchive && archiveProcessor != null && archiveMailbox != null && archiveMailbox.IsRemote)
                {
                    CloudArchiveProcessor cloudArchiveProcessor = archiveProcessor as CloudArchiveProcessor;
                    if (cloudArchiveProcessor != null && cloudArchiveProcessor.ArchiveEwsClient != null)
                    {
                        byte[] xmlData = MrmFaiFormatter.Serialize(this.storeTagDictionary, this.storeDefaultArchiveTagDictionary, null, new RetentionHoldData(base.SuspendExpiration, base.ADUser.RetentionComment, base.ADUser.RetentionUrl), this.fullCrawlRequired, base.MailboxSession.MailboxOwner);
                        if (!cloudArchiveProcessor.SaveConfigItemInArchive(xmlData))
                        {
                            ElcUserInformation.Tracer.TraceError((long)this.GetHashCode(), "The MRM FAI message could not be saved to the cross-premise archive");
                            return(false);
                        }
                    }
                }
                result = true;
            }
            catch (Exception ex)
            {
                if (ex is ObjectNotFoundException || ex is ObjectExistedException || ex is SaveConflictException || ex is StorageTransientException || ex is StoragePermanentException)
                {
                    result = false;
                    ElcUserInformation.Tracer.TraceDebug <IExchangePrincipal, MailboxSession, Exception>((long)this.GetHashCode(), "The MRM FAI message could not be saved. Mailbox Owner {0}, Mailbox Session {1}. Exception: {2}", base.MailboxSession.MailboxOwner, base.MailboxSession, arg);
                    throw new TransientMailboxException(ex);
                }
                throw;
            }
            return(result);
        }