Ejemplo n.º 1
0
        bool IMailbox.IsMailboxCapabilitySupported(MailboxCapabilities capability)
        {
            MrsTracer.ProxyClient.Function("RemoteMailbox.IsMailboxCapabilitySupported({0})", new object[]
            {
                capability
            });
            bool result;

            if (this.mailboxCapabilities.TryGetValue(capability, out result))
            {
                return(result);
            }
            this.VerifyMailboxConnection();
            if (capability == MailboxCapabilities.FolderRules && this is RemoteDestinationMailbox)
            {
                MailboxInformation mailboxInformation = ((IMailbox)this).GetMailboxInformation();
                if (mailboxInformation != null)
                {
                    this.mailboxCapabilities[capability] = (mailboxInformation.ServerVersion >= Server.E14MinVersion);
                    return(this.mailboxCapabilities[capability]);
                }
            }
            if (capability == MailboxCapabilities.FolderRules || capability == MailboxCapabilities.FolderAcls)
            {
                this.mailboxCapabilities[capability] = true;
                if (base.ServerVersion[60])
                {
                    this.mailboxCapabilities[capability] = base.MrsProxy.IMailbox_IsMailboxCapabilitySupported2(base.Handle, (int)capability);
                }
                return(this.mailboxCapabilities[capability]);
            }
            if (base.ServerVersion[47])
            {
                this.mailboxCapabilities[capability] = base.MrsProxy.IMailbox_IsMailboxCapabilitySupported2(base.Handle, (int)capability);
                return(this.mailboxCapabilities[capability]);
            }
            if (base.ServerVersion[43] && (capability == MailboxCapabilities.PagedEnumerateChanges || capability == MailboxCapabilities.PagedGetActions || capability == MailboxCapabilities.ReplayActions))
            {
                this.mailboxCapabilities[capability] = base.MrsProxy.IMailbox_IsMailboxCapabilitySupported(base.Handle, capability);
                return(this.mailboxCapabilities[capability]);
            }
            this.mailboxCapabilities[capability] = false;
            return(this.mailboxCapabilities[capability]);
        }
Ejemplo n.º 2
0
        protected virtual bool IsMailboxCapabilitySupportedInternal(MailboxCapabilities capability)
        {
            switch (capability)
            {
            case MailboxCapabilities.PagedEnumerateChanges:
            case MailboxCapabilities.RunIsInteg:
            case MailboxCapabilities.ExtendedAclInformation:
            case MailboxCapabilities.PagedEnumerateHierarchyChanges:
            case MailboxCapabilities.FolderRules:
            case MailboxCapabilities.FolderAcls:
                break;

            default:
                if (capability != MailboxCapabilities.PagedGetActions)
                {
                    return(false);
                }
                break;
            }
            return(true);
        }
Ejemplo n.º 3
0
        bool IMailbox.IsMailboxCapabilitySupported(MailboxCapabilities capability)
        {
            bool result = false;

            base.CreateContext("IMailbox.IsMailboxCapabilitySupported", new DataContext[]
            {
                new SimpleValueDataContext("Capability", capability)
            }).Execute(delegate
            {
                bool result;
                if (this.mailboxCapabilities.TryGetValue((int)capability, out result))
                {
                    result = result;
                    return;
                }
                MailboxCapabilities capability2 = capability;
                MailboxCapabilities capability3 = capability;
                MailboxCapabilities capability4 = capability;
                MailboxCapabilities capability5 = capability;
                result = this.WrappedObject.IsMailboxCapabilitySupported(capability);
                this.mailboxCapabilities.Add((int)capability, result);
            }, true);
            return(result);
        }
Ejemplo n.º 4
0
 bool IMailbox.IsMailboxCapabilitySupported(MailboxCapabilities capability)
 {
     return(capability == MailboxCapabilities.ReplayActions);
 }
Ejemplo n.º 5
0
 bool IMailbox.IsMailboxCapabilitySupported(MailboxCapabilities capability)
 {
     return(false);
 }
Ejemplo n.º 6
0
 bool IMailbox.IsMailboxCapabilitySupported(MailboxCapabilities capability)
 {
     return(this.IsMailboxCapabilitySupportedInternal(capability));
 }
Ejemplo n.º 7
0
 protected override bool IsMailboxCapabilitySupportedInternal(MailboxCapabilities capability)
 {
     return(capability == MailboxCapabilities.ExportFolders || base.IsMailboxCapabilitySupportedInternal(capability));
 }