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 383302 2006-03-05 10:20:07Z blautenb $
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 class XKMSRevokeResult;
00050 class XKMSRevokeRequest;
00051 class XKMSRecoverResult;
00052 class XKMSRecoverRequest;
00053 class XKMSReissueResult;
00054 class XKMSReissueRequest;
00055 
00056 XSEC_DECLARE_XERCES_CLASS(DOMElement);
00057 
00069 
00084 class XKMSMessageFactory {
00085 
00088 
00089 protected:
00090 
00091     XKMSMessageFactory() {};
00092 
00093 public:
00094 
00095     virtual ~XKMSMessageFactory() {};
00096 
00099 
00111     virtual XKMSMessageAbstractType * newMessageFromDOM(
00112         XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * elt) = 0;
00113 
00114 
00116 
00119 
00135     virtual XKMSCompoundRequest * createCompoundRequest(
00136         const XMLCh * service,
00137         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00138         const XMLCh * id = NULL) = 0;
00139         
00156     virtual XKMSCompoundRequest * createCompoundRequest(
00157         const XMLCh * service,
00158         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00159         const XMLCh * id = NULL) = 0;
00160 
00176     virtual XKMSLocateRequest * createLocateRequest(
00177         const XMLCh * service,
00178         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00179         const XMLCh * id = NULL) = 0;
00180         
00197     virtual XKMSLocateRequest * createLocateRequest(
00198         const XMLCh * service,
00199         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00200         const XMLCh * id = NULL) = 0;
00201 
00217     virtual XKMSValidateRequest * createValidateRequest(
00218         const XMLCh * service,
00219         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00220         const XMLCh * id = NULL) = 0;
00221         
00238     virtual XKMSValidateRequest * createValidateRequest(
00239         const XMLCh * service,
00240         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00241         const XMLCh * id = NULL) = 0;
00242 
00258     virtual XKMSPendingRequest * createPendingRequest(
00259         const XMLCh * service,
00260         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00261         const XMLCh * id = NULL) = 0;
00262         
00279     virtual XKMSPendingRequest * createPendingRequest(
00280         const XMLCh * service,
00281         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00282         const XMLCh * id = NULL) = 0;
00283 
00299     virtual XKMSStatusRequest * createStatusRequest(
00300         const XMLCh * service,
00301         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00302         const XMLCh * id = NULL) = 0;
00303         
00320     virtual XKMSStatusRequest * createStatusRequest(
00321         const XMLCh * service,
00322         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00323         const XMLCh * id = NULL) = 0;
00324 
00341     virtual XKMSLocateResult * createLocateResult(
00342         XKMSLocateRequest * request,
00343         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00344         XKMSResultType::ResultMajor rmaj,
00345         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00346         const XMLCh * id = NULL) = 0;
00347 
00367     virtual XKMSLocateResult * createLocateResult(
00368         XKMSLocateRequest * request,
00369         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00370         XKMSResultType::ResultMajor rmaj,
00371         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00372         const XMLCh * id = NULL) = 0;
00373 
00390     virtual XKMSValidateResult * createValidateResult(
00391         XKMSValidateRequest * request,
00392         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00393         XKMSResultType::ResultMajor rmaj,
00394         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00395         const XMLCh * id = NULL) = 0;
00396 
00416     virtual XKMSValidateResult * createValidateResult(
00417         XKMSValidateRequest * request,
00418         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00419         XKMSResultType::ResultMajor rmaj,
00420         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00421         const XMLCh * id = NULL) = 0;
00422 
00439     virtual XKMSCompoundResult * createCompoundResult(
00440         XKMSCompoundRequest * request,
00441         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00442         XKMSResultType::ResultMajor rmaj,
00443         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00444         const XMLCh * id = NULL) = 0;
00445 
00465     virtual XKMSCompoundResult * createCompoundResult(
00466         XKMSCompoundRequest * request,
00467         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00468         XKMSResultType::ResultMajor rmaj,
00469         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00470         const XMLCh * id = NULL) = 0;
00471 
00488     virtual XKMSResult * createResult(
00489         XKMSRequestAbstractType * request,
00490         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00491         XKMSResultType::ResultMajor rmaj,
00492         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00493         const XMLCh * id = NULL) = 0;
00494 
00514     virtual XKMSResult * createResult(
00515         XKMSRequestAbstractType * request,
00516         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00517         XKMSResultType::ResultMajor rmaj,
00518         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00519         const XMLCh * id = NULL) = 0;
00520 
00537     virtual XKMSStatusResult * createStatusResult(
00538         XKMSStatusRequest * request,
00539         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00540         XKMSResultType::ResultMajor rmaj,
00541         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00542         const XMLCh * id = NULL) = 0;
00543 
00563     virtual XKMSStatusResult * createStatusResult(
00564         XKMSStatusRequest * request,
00565         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00566         XKMSResultType::ResultMajor rmaj,
00567         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00568         const XMLCh * id = NULL) = 0;
00569 
00571 
00574 
00590     virtual XKMSRegisterRequest * createRegisterRequest(
00591         const XMLCh * service,
00592         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00593         const XMLCh * id = NULL) = 0;
00594         
00611     virtual XKMSRegisterRequest * createRegisterRequest(
00612         const XMLCh * service,
00613         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00614         const XMLCh * id = NULL) = 0;
00615 
00632     virtual XKMSRegisterResult * createRegisterResult(
00633         XKMSRegisterRequest * request,
00634         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00635         XKMSResultType::ResultMajor rmaj,
00636         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00637         const XMLCh * id = NULL) = 0;
00638 
00658     virtual XKMSRegisterResult * createRegisterResult(
00659         XKMSRegisterRequest * request,
00660         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00661         XKMSResultType::ResultMajor rmaj,
00662         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00663         const XMLCh * id = NULL) = 0;
00664 
00680     virtual XKMSRevokeRequest * createRevokeRequest(
00681         const XMLCh * service,
00682         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00683         const XMLCh * id = NULL) = 0;
00684         
00701     virtual XKMSRevokeRequest * createRevokeRequest(
00702         const XMLCh * service,
00703         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00704         const XMLCh * id = NULL) = 0;
00705 
00722     virtual XKMSRevokeResult * createRevokeResult(
00723         XKMSRevokeRequest * request,
00724         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00725         XKMSResultType::ResultMajor rmaj,
00726         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00727         const XMLCh * id = NULL) = 0;
00728 
00748     virtual XKMSRevokeResult * createRevokeResult(
00749         XKMSRevokeRequest * request,
00750         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00751         XKMSResultType::ResultMajor rmaj,
00752         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00753         const XMLCh * id = NULL) = 0;
00754 
00770     virtual XKMSRecoverRequest * createRecoverRequest(
00771         const XMLCh * service,
00772         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00773         const XMLCh * id = NULL) = 0;
00774         
00791     virtual XKMSRecoverRequest * createRecoverRequest(
00792         const XMLCh * service,
00793         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00794         const XMLCh * id = NULL) = 0;
00795 
00812     virtual XKMSRecoverResult * createRecoverResult(
00813         XKMSRecoverRequest * request,
00814         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00815         XKMSResultType::ResultMajor rmaj,
00816         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00817         const XMLCh * id = NULL) = 0;
00818 
00838     virtual XKMSRecoverResult * createRecoverResult(
00839         XKMSRecoverRequest * request,
00840         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00841         XKMSResultType::ResultMajor rmaj,
00842         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00843         const XMLCh * id = NULL) = 0;
00844 
00860     virtual XKMSReissueRequest * createReissueRequest(
00861         const XMLCh * service,
00862         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00863         const XMLCh * id = NULL) = 0;
00864         
00881     virtual XKMSReissueRequest * createReissueRequest(
00882         const XMLCh * service,
00883         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00884         const XMLCh * id = NULL) = 0;
00885 
00902     virtual XKMSReissueResult * createReissueResult(
00903         XKMSReissueRequest * request,
00904         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * doc,
00905         XKMSResultType::ResultMajor rmaj,
00906         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00907         const XMLCh * id = NULL) = 0;
00908 
00928     virtual XKMSReissueResult * createReissueResult(
00929         XKMSReissueRequest * request,
00930         XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc,
00931         XKMSResultType::ResultMajor rmaj,
00932         XKMSResultType::ResultMinor rmin = XKMSResultType::NoneMinor,
00933         const XMLCh * id = NULL) = 0;
00934 
00936 
00939 
00947     virtual void setDSIGNSPrefix(const XMLCh * prefix) = 0;
00948 
00964     virtual void setECNSPrefix(const XMLCh * prefix) = 0;
00965 
00981     virtual void setXPFNSPrefix(const XMLCh * prefix) = 0;
00982 
00990     virtual void setXENCNSPrefix(const XMLCh * prefix) = 0;
00991 
00999     virtual void setXKMSNSPrefix(const XMLCh * prefix) = 0;
01000 
01002 
01005 
01016     virtual XKMSRequestAbstractType * toRequestAbstractType(XKMSMessageAbstractType *msg) = 0;
01017 
01028     virtual XKMSResultType * toResultType(XKMSMessageAbstractType *msg) = 0;
01029 
01031 private:
01032 
01033     // Unimplemented
01034     XKMSMessageFactory(const XKMSMessageFactory &);
01035     XKMSMessageFactory & operator = (const XKMSMessageFactory &);
01036 
01037 };
01038 
01039 #endif /* XKMSMESSAGEFACTORY_INCLUDE */

Generated on Sun Jan 28 19:37:23 2007 for XML-Security-C by  doxygen 1.4.2