X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=shibsp%2FSPConfig.h;h=2c80561848b3e58fe741fae10eea101a1018e1bc;hb=HEAD;hp=3764eda8f35f07c38935e6ac09c07f41de47ea6b;hpb=40ba37a1dc92307cb1983cc13034ea878ee9522d;p=shibboleth%2Fcpp-sp.git diff --git a/shibsp/SPConfig.h b/shibsp/SPConfig.h index 3764eda..2c80561 100644 --- a/shibsp/SPConfig.h +++ b/shibsp/SPConfig.h @@ -1,23 +1,27 @@ -/* - * Copyright 2001-2009 Internet2 +/** + * Licensed to the University Corporation for Advanced Internet + * Development, Inc. (UCAID) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for + * additional information regarding copyright ownership. * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * UCAID licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the + * License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the License. */ /** * @file shibsp/SPConfig.h * - * Library configuration + * Library configuration. */ #ifndef __shibsp_config_h__ @@ -27,6 +31,7 @@ #include #ifndef SHIBSP_LITE +# include # include # include #endif @@ -44,6 +49,7 @@ namespace shibsp { class SHIBSP_API Handler; class SHIBSP_API ListenerService; class SHIBSP_API RequestMapper; + class SHIBSP_API ProtocolProvider; class SHIBSP_API ServiceProvider; class SHIBSP_API SessionCache; class SHIBSP_API SessionInitiator; @@ -55,6 +61,7 @@ namespace shibsp { class SHIBSP_API AttributeResolver; class SHIBSP_API FilterPolicyContext; class SHIBSP_API MatchFunctor; + class SHIBSP_API SecurityPolicyProvider; #endif #if defined (_MSC_VER) @@ -106,13 +113,21 @@ namespace shibsp { */ void setFeatures(unsigned long enabled); + + /** + * Gets the bitmask of subsystems being activated. + * + * @return bitmask of component constants + */ + unsigned long getFeatures() const; + /** * Test whether a subsystem is enabled. * * @param feature subsystem/component to test * @return true iff feature is enabled */ - bool isEnabled(components_t feature); + bool isEnabled(components_t feature) const; /** * Initializes library @@ -124,7 +139,7 @@ namespace shibsp { * @param inst_prefix installation prefix for software * @return true iff initialization was successful */ - virtual bool init(const char* catalog_path=NULL, const char* inst_prefix=NULL); + virtual bool init(const char* catalog_path=nullptr, const char* inst_prefix=nullptr); /** * Shuts down library @@ -146,7 +161,7 @@ namespace shibsp { /** * Returns the global ServiceProvider instance. * - * @return global ServiceProvider or NULL + * @return global ServiceProvider or nullptr */ ServiceProvider* getServiceProvider() const; @@ -158,7 +173,7 @@ namespace shibsp { * @param rethrow true iff caught exceptions should be rethrown instead of just returning the status * @return true iff instantiation was successful */ - virtual bool instantiate(const char* config=NULL, bool rethrow=false); + virtual bool instantiate(const char* config=nullptr, bool rethrow=false); #ifndef SHIBSP_LITE /** @@ -174,7 +189,7 @@ namespace shibsp { /** * Returns the global ArtifactResolver instance. * - * @return global ArtifactResolver or NULL + * @return global ArtifactResolver or nullptr */ const opensaml::MessageDecoder::ArtifactResolver* getArtifactResolver() const; #endif @@ -209,9 +224,19 @@ namespace shibsp { xmltooling::PluginManager AttributeResolverManager; /** + * Manages factories for Event plugins. + */ + xmltooling::PluginManager EventManager; + + /** * Manages factories for MatchFunctor plugins. */ xmltooling::PluginManager< MatchFunctor,xmltooling::QName,std::pair > MatchFunctorManager; + + /** + * Manages factories for SecurityPolicyProvider plugins. + */ + xmltooling::PluginManager SecurityPolicyProviderManager; #endif /** @@ -245,6 +270,11 @@ namespace shibsp { xmltooling::PluginManager< Handler,std::string,std::pair > ManageNameIDServiceManager; /** + * Manages factories for ProtocolProvider plugins. + */ + xmltooling::PluginManager ProtocolProviderManager; + + /** * Manages factories for RequestMapper plugins. */ xmltooling::PluginManager RequestMapperManager;