00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef XKMSMESSAGEFACTORY_INCLUDE
00027 #define XKMSMESSAGEFACTORY_INCLUDE
00028
00029
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
01034 XKMSMessageFactory(const XKMSMessageFactory &);
01035 XKMSMessageFactory & operator = (const XKMSMessageFactory &);
01036
01037 };
01038
01039 #endif