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
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
00758 XKMSMessageFactory(const XKMSMessageFactory &);
00759 XKMSMessageFactory & operator = (const XKMSMessageFactory &);
00760
00761 };
00762
00763 #endif