Example #1
0
        internal static void RegisterQueryProcessors()
        {
            OrganizationCacheQueryProcessor <bool> .XPremiseEnt.Register();

            OrganizationCacheQueryProcessor <bool> .XPremiseDC.Register();

            RbacQuery.RegisterQueryProcessor("ClosedCampus", new ClosedCampusQueryProcessor());
            RbacQuery.RegisterQueryProcessor("OrgHasManagedDomains", new AcceptedManagedDomainsQueryProcessor());
            RbacQuery.RegisterQueryProcessor("OrgHasFederatedDomains", new AcceptedFederatedDomainsQueryProcessor());
            RbacQuery.RegisterQueryProcessor("SendAddressAvailable", new SendAddressAvailableQueryProcessor());
            RbacQuery.RegisterQueryProcessor("PopImapDisabled", new PopImapDisabledQueryProcessor());
            RbacQuery.RegisterQueryProcessor("IPSafelistingEhfSyncEnabledRole", new IPSafelistingEhfSyncEnabledQueryProcessor());
            RbacQuery.RegisterQueryProcessor("IPSafelistingSmpEnabledRole", new IPSafelistingSmpEnabledQueryProcessor());
            RbacQuery.RegisterQueryProcessor("EhfAdminCenterEnabledRole", new EhfAdminCenterEnabledQueryProcessor());
            RbacQuery.RegisterQueryProcessor("BusinessLiveId", LiveIdInstanceQueryProcessor.BusinessLiveId);
            RbacQuery.RegisterQueryProcessor("ConsumerLiveId", LiveIdInstanceQueryProcessor.ConsumerLiveId);
            RbacQuery.RegisterQueryProcessor("IsDehydrated", new IsDehydratedQueryProcessor());
            RbacQuery.RegisterQueryProcessor("SoftDeletedFeatureEnabled", new SoftDeletedFeatureStatusQueryProcessor());
            RbacQuery.RegisterQueryProcessor("OfficeStoreAvailable", new OfficeStoreAvailableQueryProcessor());
            foreach (EcpFeature ecpFeature in ClientRbac.HybridEcpFeatures)
            {
                new EcpFeatureQueryProcessor(ecpFeature).Register();
            }
            new AliasQueryProcessor("ControlPanelAdmin", "OrgMgmControlPanel+Admin").Register();
            new AliasQueryProcessor("HybridAdmin", "ControlPanelAdmin+XPremiseEnt,ControlPanelAdmin+LiveID").Register();
            RbacQuery.ConditionalQueryProcessors.Regist(delegate(string rbacQuery, out RbacQuery.RbacQueryProcessor processor)
            {
                if (EacFlightUtility.FeaturePrefixs.Any((string prefix) => rbacQuery.StartsWith(prefix)))
                {
                    processor = new FlightQueryProcessor(rbacQuery);
                    return(true);
                }
                processor = null;
                return(false);
            });
        }