#define __shibsp_sp_h__
#include <shibsp/util/PropertySet.h>
-#include <saml/binding/SecurityPolicyRule.h>
-#include <xmltooling/security/CredentialResolver.h>
-#include <xmltooling/util/StorageService.h>
+#ifndef SHIBSP_LITE
+# include <saml/binding/SecurityPolicyRule.h>
+# include <xmltooling/soap/SOAPTransport.h>
+# include <xmltooling/util/StorageService.h>
+#endif
+#include <xmltooling/Lockable.h>
namespace shibsp {
class SHIBSP_API SessionCache;
class SHIBSP_API SPRequest;
class SHIBSP_API TemplateParameters;
+#ifndef SHIBSP_LITE
class SHIBSP_API TransactionLog;
+#endif
/**
* Interface to a Shibboleth ServiceProvider instance.
*/
virtual void init()=0;
+#ifndef SHIBSP_LITE
/**
* Returns a TransactionLog instance.
*
* @return a StorageService if available, or NULL
*/
virtual xmltooling::StorageService* getStorageService(const char* id) const=0;
+#endif
/**
* Returns a SessionCache instance.
*/
virtual ListenerService* getListenerService(bool required=true) const=0;
- /**
- * Returns a CredentialResolver instance mapped to a key.
- *
- * @param id a NULL-terminated key identifying the CredentialResolver to the configuration
- * @return a CredentialResolver if available, or NULL
- */
- virtual xmltooling::CredentialResolver* getCredentialResolver(const char* id) const=0;
-
+#ifndef SHIBSP_LITE
/**
* Returns the security policy settings for an identified policy.
*
virtual const std::vector<const opensaml::SecurityPolicyRule*>& getPolicyRules(const char* id) const=0;
/**
+ * Sets implementation-specific transport options.
+ *
+ * @param transport a SOAPTransport object
+ * @return true iff all options were successfully set
+ */
+ virtual bool setTransportOptions(xmltooling::SOAPTransport& transport) const=0;
+#endif
+
+ /**
* Returns a RequestMapper instance.
*
* @param required true iff an exception should be thrown if no RequestMapper is available
- * @param a RequestMapper
+ * @return a RequestMapper
*/
virtual RequestMapper* getRequestMapper(bool required=true) const=0;