Ejemplo n.º 1
0
        internal static string OrganizationNameForLogging(IRoutingKey key)
        {
            RoutingItemType routingItemType = key.RoutingItemType;

            if (routingItemType != RoutingItemType.ArchiveSmtp)
            {
                switch (routingItemType)
                {
                case RoutingItemType.MailboxGuid:
                {
                    MailboxGuidRoutingKey mailboxGuidRoutingKey = key as MailboxGuidRoutingKey;
                    return(mailboxGuidRoutingKey.TenantDomain);
                }

                case RoutingItemType.Smtp:
                {
                    SmtpRoutingKey smtpRoutingKey = key as SmtpRoutingKey;
                    return(smtpRoutingKey.SmtpAddress.Domain);
                }

                case RoutingItemType.LiveIdMemberName:
                {
                    LiveIdMemberNameRoutingKey liveIdMemberNameRoutingKey = key as LiveIdMemberNameRoutingKey;
                    return(liveIdMemberNameRoutingKey.OrganizationDomain);
                }
                }
                return(string.Empty);
            }
            ArchiveSmtpRoutingKey archiveSmtpRoutingKey = key as ArchiveSmtpRoutingKey;

            return(archiveSmtpRoutingKey.SmtpAddress.Domain);
        }
Ejemplo n.º 2
0
        public IRoutingLookup GetLookupForType(RoutingItemType routingEntryType)
        {
            switch (routingEntryType)
            {
            case RoutingItemType.ArchiveSmtp:
                return(new ArchiveSmtpRoutingLookup(this.userProvider));

            case RoutingItemType.DatabaseGuid:
                return(new DatabaseGuidRoutingLookup(this.databaseLocationProvider));

            case RoutingItemType.MailboxGuid:
                return(new MailboxGuidRoutingLookup(this.userProvider));

            case RoutingItemType.Server:
                return(new ServerRoutingLookup());

            case RoutingItemType.Smtp:
                return(new SmtpRoutingLookup(this.userProvider));

            case RoutingItemType.ExternalDirectoryObjectId:
                return(new ExternalDirectoryObjectIdRoutingLookup(this.userProvider));

            case RoutingItemType.LiveIdMemberName:
                return(new LiveIdMemberNameRoutingLookup(this.userProvider));
            }
            return(null);
        }
Ejemplo n.º 3
0
        public IRoutingLookup GetLookupForType(RoutingItemType routingEntryType)
        {
            switch (routingEntryType)
            {
            case RoutingItemType.ArchiveSmtp:
                return(new ArchiveSmtpSharedCacheLookup(this.mailboxCache));

            case RoutingItemType.DatabaseGuid:
                return(new DatabaseGuidSharedCacheLookup(this.databaseCache));

            case RoutingItemType.MailboxGuid:
                return(new MailboxGuidSharedCacheLookup(this.mailboxCache));

            case RoutingItemType.Server:
                return(new ServerRoutingLookup());

            case RoutingItemType.Smtp:
                return(new SmtpSharedCacheLookup(this.mailboxCache));

            case RoutingItemType.ExternalDirectoryObjectId:
                return(new ExternalDirectoryObjectIdSharedCacheLookup(this.mailboxCache));

            case RoutingItemType.LiveIdMemberName:
                return(new LiveIdMemberNameSharedCacheLookup(this.mailboxCache));
            }
            return(null);
        }
Ejemplo n.º 4
0
 protected AnchorMailboxSharedCacheLookup(ISharedCache sharedCache, RoutingItemType validItemType)
 {
     if (sharedCache == null)
     {
         throw new ArgumentNullException("sharedCache");
     }
     this.sharedCache   = sharedCache;
     this.validItemType = validItemType;
 }
Ejemplo n.º 5
0
        public static string RoutingTypeToString(RoutingItemType routingType)
        {
            string result;

            if (!RoutingEntryHeaderSerializer.TryGetDefinedRoutingTypeToString(routingType, out result))
            {
                result = routingType.ToString();
            }
            return(result);
        }
Ejemplo n.º 6
0
        internal static string SerializableRoutingTypeToString(RoutingItemType routingType)
        {
            if (routingType == RoutingItemType.Unknown)
            {
                throw new NotSupportedException("Cannot serialize routing entries of type Unknown");
            }
            string result;

            if (!RoutingEntryHeaderSerializer.TryGetDefinedRoutingTypeToString(routingType, out result))
            {
                throw new ArgumentException(string.Format("Unrecognized routing type: {0}", routingType));
            }
            return(result);
        }
Ejemplo n.º 7
0
        internal static bool TryGetDefinedRoutingTypeToString(RoutingItemType routingType, out string routingTypeString)
        {
            routingTypeString = null;
            switch (routingType)
            {
            case RoutingItemType.ArchiveSmtp:
                routingTypeString = "ArchiveSmtp";
                return(true);

            case RoutingItemType.DatabaseGuid:
                routingTypeString = "DatabaseGuid";
                return(true);

            case RoutingItemType.Error:
                routingTypeString = "Error";
                return(true);

            case RoutingItemType.MailboxGuid:
                routingTypeString = "MailboxGuid";
                return(true);

            case RoutingItemType.Server:
                routingTypeString = "Server";
                return(true);

            case RoutingItemType.Smtp:
                routingTypeString = "Smtp";
                return(true);

            case RoutingItemType.ExternalDirectoryObjectId:
                routingTypeString = "Oid";
                return(true);

            case RoutingItemType.LiveIdMemberName:
                routingTypeString = "LiveIdMemberName";
                return(true);

            case RoutingItemType.Unknown:
                routingTypeString = "Unknown";
                return(true);

            default:
                return(false);
            }
        }