Starting to refactor session cache, eliminated IConfig class.
[shibboleth/cpp-sp.git] / shibsp / SPConfig.h
index 9e57b2b..431b753 100644 (file)
 namespace shibsp {
 
     class SHIBSP_API AccessControl;
+    class SHIBSP_API Handler;
     class SHIBSP_API ListenerService;
     class SHIBSP_API RequestMapper;
     class SHIBSP_API ServiceProvider;
+    class SHIBSP_API SessionCache;
 
 #if defined (_MSC_VER)
     #pragma warning( push )
@@ -137,11 +139,26 @@ namespace shibsp {
         xmltooling::PluginManager<AccessControl,const xercesc::DOMElement*> AccessControlManager;
 
         /**
+         * Manages factories for Handler plugins that implement AssertionConsumerService functionality.
+         */
+        xmltooling::PluginManager<Handler,const xercesc::DOMElement*> AssertionConsumerServiceManager;
+
+        /**
+         * Manages factories for Handler plugins that implement customized functionality.
+         */
+        xmltooling::PluginManager<Handler,const xercesc::DOMElement*> HandlerManager;
+
+        /**
          * Manages factories for ListenerService plugins.
          */
         xmltooling::PluginManager<ListenerService,const xercesc::DOMElement*> ListenerServiceManager;
 
         /**
+         * Manages factories for Handler plugins that implement ManageNameIDService functionality.
+         */
+        xmltooling::PluginManager<Handler,const xercesc::DOMElement*> ManageNameIDServiceManager;
+
+        /**
          * Manages factories for RequestMapper plugins.
          */
         xmltooling::PluginManager<RequestMapper,const xercesc::DOMElement*> RequestMapperManager;
@@ -151,6 +168,21 @@ namespace shibsp {
          */
         xmltooling::PluginManager<ServiceProvider,const xercesc::DOMElement*> ServiceProviderManager;
 
+        /**
+         * Manages factories for SessionCache plugins.
+         */
+        xmltooling::PluginManager<SessionCache,const xercesc::DOMElement*> SessionCacheManager;
+
+        /**
+         * Manages factories for Handler plugins that implement SessionInitiator functionality.
+         */
+        xmltooling::PluginManager<Handler,const xercesc::DOMElement*> SessionInitiatorManager;
+
+        /**
+         * Manages factories for Handler plugins that implement SingleLogoutService functionality.
+         */
+        xmltooling::PluginManager<Handler,const xercesc::DOMElement*> SingleLogoutServiceManager;
+
     protected:
         SPConfig() : m_serviceProvider(NULL) {}