Remove xmlproviders from build, deleted old AAP interface.
[shibboleth/cpp-sp.git] / shib-target / shib-target.h
index 76c5ca6..6297b2d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2005 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 SHIB_TARGET_H
 
 // New headers
-#include <shibsp/AbstractSPRequest.h>
 #include <shibsp/Application.h>
 #include <shibsp/Handler.h>
 #include <shibsp/RequestMapper.h>
 #include <shibsp/ServiceProvider.h>
+#include <shibsp/SessionCache.h>
 #include <shibsp/remoting/ListenerService.h>
 
 // Old headers
@@ -66,10 +66,6 @@ namespace shibtarget {
     struct SHIBTARGET_EXPORTS IApplication : public virtual shibsp::Application,
         public virtual shibboleth::ShibBrowserProfile::ITokenValidator
     {
-        virtual saml::Iterator<saml::SAMLAttributeDesignator*> getAttributeDesignators() const=0;
-        virtual saml::Iterator<shibboleth::IAAP*> getAAPProviders() const=0;
-        virtual saml::Iterator<const XMLCh*> getAudiences() const=0;
-
         // caller is borrowing object, must use within scope of config lock
         virtual const saml::SAMLBrowserProfile* getBrowserProfile() const=0;
         virtual const saml::SAMLBinding* getBinding(const XMLCh* binding) const=0;
@@ -85,18 +81,6 @@ namespace shibtarget {
             const xmltooling::TrustEngine* trust=NULL
             ) const=0;
 
-        // Used to locate a default or designated session initiator for automatic sessions
-        virtual const shibsp::Handler* getDefaultSessionInitiator() const=0;
-        virtual const shibsp::Handler* getSessionInitiatorById(const char* id) const=0;
-        
-        // Used by session initiators to get endpoint to forward to IdP/WAYF
-        virtual const shibsp::Handler* getDefaultAssertionConsumerService() const=0;
-        virtual const shibsp::Handler* getAssertionConsumerServiceByIndex(unsigned short index) const=0;
-        virtual saml::Iterator<const shibsp::Handler*> getAssertionConsumerServicesByBinding(const XMLCh* binding) const=0;
-        
-        // Used by dispatcher to locate the handler for a request
-        virtual const shibsp::Handler* getHandler(const char* path) const=0;
-
         virtual ~IApplication() {}
     };
 
@@ -205,7 +189,7 @@ namespace shibtarget {
      * remote and/or optimize calls by implementing custom versions of the
      * ISessionCacheEntry interface as required.
      */
-    struct SHIBTARGET_EXPORTS ISessionCache : public virtual saml::IPlugIn
+    struct SHIBTARGET_EXPORTS ISessionCache : virtual public shibsp::SessionCache
     {
         virtual std::string insert(
             const IApplication* application,
@@ -234,13 +218,6 @@ namespace shibtarget {
     #define ODBC_REPLAYCACHE    "edu.internet2.middleware.shibboleth.sp.provider.ODBCReplayCacheProvider"
 
 
-    struct SHIBTARGET_EXPORTS IConfig : public virtual shibsp::ServiceProvider
-    {
-        virtual ISessionCache* getSessionCache() const=0;
-        virtual saml::IReplayCache* getReplayCache() const=0;
-        virtual ~IConfig() {}
-    };
-
     class SHIBTARGET_EXPORTS ShibTargetConfig
     {
     public:
@@ -254,45 +231,6 @@ namespace shibtarget {
         static ShibTargetConfig& getConfig();
     };
 
-    class ShibTargetPriv;
-    class SHIBTARGET_EXPORTS ShibTarget : public shibsp::AbstractSPRequest {
-    public:
-        virtual ~ShibTarget() {}
-
-        //
-        // Note:  Subclasses need not implement anything below this line
-        //
-
-        // These functions implement the server-agnostic shibboleth engine
-        // The web server modules implement a subclass and then call into 
-        // these methods once they instantiate their request object.
-        // 
-        // Return value:
-        //   these APIs will always return the result of sendPage(), sendRedirect(),
-        //   returnDecline(), or returnOK() in the void* portion of the return code.
-        //   Exactly what those values are is module- (subclass-) implementation
-        //   specific.  The 'bool' part of the return value declares whether the
-        //   void* is valid or not.  If the bool is true then the void* is valid.
-        //   If the bool is false then the API did not call any callback, the void*
-        //   is not valid, and the caller should continue processing (the API Call
-        //   finished successfully).
-        //
-        //   The handleProfile argument declares whether doCheckAuthN() should
-        //   automatically call doHandlePOST() when it encounters a request for
-        //   the ShireURL;  if false it will call returnOK() instead.
-        //
-        std::pair<bool,long> doCheckAuthN(bool handler = false);
-        std::pair<bool,long> doHandler();
-        std::pair<bool,long> doCheckAuthZ();
-        std::pair<bool,long> doExportAssertions(bool requireSession = true);
-
-    protected:
-        ShibTarget() {}
-
-    private:
-        void clearHeaders();
-    };
-
 }
 
 #endif /* SHIB_TARGET_H */