Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

XKMSMessageFactory.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004-2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * XSEC
00019  *
00020  * XKMSMessageFactory := Interface for the factory used to produce XKMS msgs
00021  *
00022  * $Id: XKMSMessageFactory.hpp,v 1.11 2005/06/04 11:30:26 blautenb Exp $
00023  *
00024  */
00025 
00026 #ifndef XKMSMESSAGEFACTORY_INCLUDE
00027 #define XKMSMESSAGEFACTORY_INCLUDE
00028 
00029 // XSEC Includes
00030 
00031 #include <xsec/framework/XSECDefs.hpp>
00032 #include <xsec/xkms/XKMSMessageAbstractType.hpp>
00033 #include <xsec/xkms/XKMSResultType.hpp>
00034 
00035 class DSIGSignature;
00036 class XKMSCompoundRequest;
00037 class XKMSCompoundResult;
00038 class XKMSLocateRequest;
00039 class XKMSLocateResult;
00040 class XKMSRequestAbstractType;
00041 class XKMSResult;
00042 class XKMSValidateRequest;
00043 class XKMSValidateResult;
00044 class XKMSPendingRequest;
00045 class XKMSStatusRequest;
00046 class XKMSStatusResult;
00047 class XKMSRegisterRequest;
00048 class XKMSRegisterResult;
00049 
00050 XSEC_DECLARE_XERCES_CLASS(DOMElement);
00051 
00063 
00078 class XKMSMessageFactory {
00079 
00082 
00083 protected:
00084 
00085     XKMSMessageFactory() {};
00086 
00087 public:
00088 
00089     virtual ~XKMSMessageFactory() {};
00090 
00093 
00105     virtual XKMSMessageAbstractType * newMessageFromDOM(
00106         XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * elt) = 0;
00107 
00108 
00110 
00113 
00129     virtual XKMSCompoundRequest * createCompoundRequest(
00130         const XMLCh * service,
00131         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00132         const XMLCh * id = NULL) = 0;
00133         
00150     virtual XKMSCompoundRequest * createCompoundRequest(
00151         const XMLCh * service,
00152         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00153         const XMLCh * id = NULL) = 0;
00154 
00170     virtual XKMSLocateRequest * createLocateRequest(
00171         const XMLCh * service,
00172         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00173         const XMLCh * id = NULL) = 0;
00174         
00191     virtual XKMSLocateRequest * createLocateRequest(
00192         const XMLCh * service,
00193         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00194         const XMLCh * id = NULL) = 0;
00195 
00211     virtual XKMSValidateRequest * createValidateRequest(
00212         const XMLCh * service,
00213         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00214         const XMLCh * id = NULL) = 0;
00215         
00232     virtual XKMSValidateRequest * createValidateRequest(
00233         const XMLCh * service,
00234         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00235         const XMLCh * id = NULL) = 0;
00236 
00252     virtual XKMSPendingRequest * createPendingRequest(
00253         const XMLCh * service,
00254         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00255         const XMLCh * id = NULL) = 0;
00256         
00273     virtual XKMSPendingRequest * createPendingRequest(
00274         const XMLCh * service,
00275         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00276         const XMLCh * id = NULL) = 0;
00277 
00293     virtual XKMSStatusRequest * createStatusRequest(
00294         const XMLCh * service,
00295         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00296         const XMLCh * id = NULL) = 0;
00297         
00314     virtual XKMSStatusRequest * createStatusRequest(
00315         const XMLCh * service,
00316         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00317         const XMLCh * id = NULL) = 0;
00318 
00335     virtual XKMSLocateResult * createLocateResult(
00336         XKMSLocateRequest * request,
00337         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00338         XKMSResultType::ResultMajor rmaj,
00339         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00340         const XMLCh * id = NULL) = 0;
00341 
00361     virtual XKMSLocateResult * createLocateResult(
00362         XKMSLocateRequest * request,
00363         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00364         XKMSResultType::ResultMajor rmaj,
00365         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00366         const XMLCh * id = NULL) = 0;
00367 
00384     virtual XKMSValidateResult * createValidateResult(
00385         XKMSValidateRequest * request,
00386         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00387         XKMSResultType::ResultMajor rmaj,
00388         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00389         const XMLCh * id = NULL) = 0;
00390 
00410     virtual XKMSValidateResult * createValidateResult(
00411         XKMSValidateRequest * request,
00412         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00413         XKMSResultType::ResultMajor rmaj,
00414         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00415         const XMLCh * id = NULL) = 0;
00416 
00433     virtual XKMSCompoundResult * createCompoundResult(
00434         XKMSCompoundRequest * request,
00435         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00436         XKMSResultType::ResultMajor rmaj,
00437         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00438         const XMLCh * id = NULL) = 0;
00439 
00459     virtual XKMSCompoundResult * createCompoundResult(
00460         XKMSCompoundRequest * request,
00461         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00462         XKMSResultType::ResultMajor rmaj,
00463         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00464         const XMLCh * id = NULL) = 0;
00465 
00482     virtual XKMSResult * createResult(
00483         XKMSRequestAbstractType * request,
00484         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00485         XKMSResultType::ResultMajor rmaj,
00486         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00487         const XMLCh * id = NULL) = 0;
00488 
00508     virtual XKMSResult * createResult(
00509         XKMSRequestAbstractType * request,
00510         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00511         XKMSResultType::ResultMajor rmaj,
00512         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00513         const XMLCh * id = NULL) = 0;
00514 
00531     virtual XKMSStatusResult * createStatusResult(
00532         XKMSStatusRequest * request,
00533         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00534         XKMSResultType::ResultMajor rmaj,
00535         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00536         const XMLCh * id = NULL) = 0;
00537 
00557     virtual XKMSStatusResult * createStatusResult(
00558         XKMSStatusRequest * request,
00559         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00560         XKMSResultType::ResultMajor rmaj,
00561         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00562         const XMLCh * id = NULL) = 0;
00563 
00565 
00568 
00584     virtual XKMSRegisterRequest * createRegisterRequest(
00585         const XMLCh * service,
00586         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00587         const XMLCh * id = NULL) = 0;
00588         
00605     virtual XKMSRegisterRequest * createRegisterRequest(
00606         const XMLCh * service,
00607         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00608         const XMLCh * id = NULL) = 0;
00609 
00626     virtual XKMSRegisterResult * createRegisterResult(
00627         XKMSRegisterRequest * request,
00628         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00629         XKMSResultType::ResultMajor rmaj,
00630         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00631         const XMLCh * id = NULL) = 0;
00632 
00652     virtual XKMSRegisterResult * createRegisterResult(
00653         XKMSRegisterRequest * request,
00654         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00655         XKMSResultType::ResultMajor rmaj,
00656         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00657         const XMLCh * id = NULL) = 0;
00658 
00660 
00663 
00671     virtual void setDSIGNSPrefix(const XMLCh * prefix) = 0;
00672 
00688     virtual void setECNSPrefix(const XMLCh * prefix) = 0;
00689 
00705     virtual void setXPFNSPrefix(const XMLCh * prefix) = 0;
00706 
00714     virtual void setXENCNSPrefix(const XMLCh * prefix) = 0;
00715 
00723     virtual void setXKMSNSPrefix(const XMLCh * prefix) = 0;
00724 
00726 
00729 
00740     virtual XKMSRequestAbstractType * toRequestAbstractType(XKMSMessageAbstractType *msg) = 0;
00741 
00752     virtual XKMSResultType * toResultType(XKMSMessageAbstractType *msg) = 0;
00753 
00755 private:
00756 
00757     // Unimplemented
00758     XKMSMessageFactory(const XKMSMessageFactory &);
00759     XKMSMessageFactory & operator = (const XKMSMessageFactory &);
00760 
00761 };
00762 
00763 #endif /* XKMSMESSAGEFACTORY_INCLUDE */

Generated on Sun Jul 3 17:37:27 2005 for XML-Security-C by  doxygen 1.4.2