/*
- * Copyright 2001-2006 Internet2
+ * Copyright 2001-2007 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#define __shibsp_config_h__
#include <shibsp/base.h>
+#include <xmltooling/PluginManager.h>
+#include <xercesc/dom/DOM.hpp>
/**
* @namespace shibsp
*/
namespace shibsp {
+ class SHIBSP_API AccessControl;
+ class SHIBSP_API AttributeDecoder;
+ class SHIBSP_API AttributeResolver;
+ 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 )
+ #pragma warning( disable : 4250 4251 )
+#endif
/**
* Singleton object that manages library startup/shutdown.
Metadata = 4,
Trust = 8,
Credentials = 16,
- AAP = 32,
- RequestMapper = 64,
+ AttributeResolution = 32,
+ RequestMapping = 64,
OutOfProcess = 128,
InProcess = 256,
Logging = 512
return m_serviceProvider;
}
+ /** Separator for serialized values of multi-valued attributes. */
+ char attribute_value_delimeter;
+
+ /**
+ * Manages factories for AccessControl plugins.
+ */
+ xmltooling::PluginManager<AccessControl,const xercesc::DOMElement*> AccessControlManager;
+
+ /**
+ * Manages factories for AttributeDecoder plugins.
+ */
+ xmltooling::PluginManager<AttributeDecoder,const xercesc::DOMElement*> AttributeDecoderManager;
+
+ /**
+ * Manages factories for AttributeResolver plugins.
+ */
+ xmltooling::PluginManager<AttributeResolver,const xercesc::DOMElement*> AttributeResolverManager;
+
+ /**
+ * 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;
+
+ /**
+ * Manages factories for ServiceProvider plugins.
+ */
+ 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) {}
+ SPConfig() : attribute_value_delimeter(';'), m_serviceProvider(NULL), m_features(0) {}
/** Global ServiceProvider instance. */
ServiceProvider* m_serviceProvider;
unsigned long m_features;
};
+#if defined (_MSC_VER)
+ #pragma warning( pop )
+#endif
+
};
#endif /* __shibsp_config_h__ */