1 /**
2  * Licensed to the University Corporation for Advanced Internet
3  * Development, Inc. (UCAID) under one or more contributor license
4  * agreements. See the NOTICE file distributed with this work for
5  * additional information regarding copyright ownership.
6  *
7  * UCAID licenses this file to you under the Apache License,
8  * Version 2.0 (the "License"); you may not use this file except
9  * in compliance with the License. You may obtain a copy of the
10  * License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
17  * either express or implied. See the License for the specific
18  * language governing permissions and limitations under the License.
19  */
20 
21 /**
22  * @file saml/saml1/binding/SAML1MessageDecoder.h
23  *
24  * Base class for SAML 1.x MessageDecoders.
25  */
26 
27 #ifndef __saml1_msgdecoder_h__
28 #define __saml1_msgdecoder_h__
29 
30 #include <saml/binding/MessageDecoder.h>
31 
32 namespace opensaml {
33 
34     namespace saml1p {
35 
36         /**
37          *  Base class for SAML 1.x MessageDecoders.
38          */
39         class SAML_API SAML1MessageDecoder : public MessageDecoder
40         {
41         protected:
42             SAML1MessageDecoder();
43             virtual ~SAML1MessageDecoder();
44 
45         public:
46             const XMLCh* getProtocolFamily() const;
47             void extractMessageDetails (
48                 const xmltooling::XMLObject& message,
49                 const xmltooling::GenericRequest& genericRequest,
50                 const XMLCh* protocol,
51                 SecurityPolicy& policy
52                 ) const;
53         };
54     };
55 };
56 
57 #endif /* __saml1_msgdecoder_h__ */
58