X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fsignature%2FKeyInfo.h;h=d9382a817c62ccd422b831e5a3f7f281425894ec;hb=b3887773bcb867e8fb7cad376279f2a9ee39dda2;hp=3981b3d7662703675a94d201c7337b5379ac7bf4;hpb=e7eab2260f79e0fe854841f273dafa006f4b4cf9;p=shibboleth%2Fxmltooling.git diff --git a/xmltooling/signature/KeyInfo.h b/xmltooling/signature/KeyInfo.h index 3981b3d..d9382a8 100644 --- a/xmltooling/signature/KeyInfo.h +++ b/xmltooling/signature/KeyInfo.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2006 Internet2 + * Copyright 2001-2007 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ /** - * @file KeyInfo.h + * @file xmltooling/signature/KeyInfo.h * * XMLObjects representing XML Digital Signature, version 20020212, KeyInfo element * and related content. @@ -25,14 +25,16 @@ #define __xmltooling_keyinfo_h__ #include -#include -#include #include #include -#include +/** + * Macro for declaring signature builders. + * + * @param cname name of class being built + */ #define DECL_XMLSIGOBJECTBUILDER(cname) \ - DECL_XMLOBJECTBUILDER(XMLTOOL_API,cname,xmltooling::XMLConstants::XMLSIG_NS,xmltooling::XMLConstants::XMLSIG_PREFIX) + DECL_XMLOBJECTBUILDER(XMLTOOL_API,cname,xmlconstants::XMLSIG_NS,xmlconstants::XMLSIG_PREFIX) namespace xmlsignature { @@ -77,15 +79,15 @@ namespace xmlsignature { static const XMLCh TYPE_NAME[]; END_XMLOBJECT; - BEGIN_XMLOBJECT(XMLTOOL_API,KeyValue,xmltooling::SimpleElement,XML Digital Signature version 20020212 KeyValue element); + BEGIN_XMLOBJECT(XMLTOOL_API,KeyValue,xmltooling::XMLObject,XML Digital Signature version 20020212 KeyValue element); DECL_TYPED_CHILD(DSAKeyValue); DECL_TYPED_CHILD(RSAKeyValue); - DECL_XMLOBJECT_CHILD(OtherKeyValue); + DECL_XMLOBJECT_CHILD(UnknownXMLObject); /** KeyValueType local name */ static const XMLCh TYPE_NAME[]; END_XMLOBJECT; - BEGIN_XMLOBJECT(XMLTOOL_API,Transform,xmltooling::ElementProxy,XML Digital Signature version 20020212 Transform element); + BEGIN_XMLOBJECT(XMLTOOL_API,Transform,xmltooling::ElementExtensibleXMLObject,XML Digital Signature version 20020212 Transform element); DECL_STRING_ATTRIB(Algorithm,ALGORITHM); DECL_TYPED_CHILDREN(XPath); /** TransformType local name */ @@ -104,6 +106,12 @@ namespace xmlsignature { DECL_TYPED_CHILD(Transforms); /** RetrievalMethodType local name */ static const XMLCh TYPE_NAME[]; + /** DSAKeyValue RetrievalMethod Type */ + static const XMLCh TYPE_DSAKEYVALUE[]; + /** RSAKeyValue RetrievalMethod Type */ + static const XMLCh TYPE_RSAKEYVALUE[]; + /** X509Data RetrievalMethod Type */ + static const XMLCh TYPE_X509DATA[]; END_XMLOBJECT; BEGIN_XMLOBJECT(XMLTOOL_API,X509IssuerSerial,xmltooling::XMLObject,XML Digital Signature version 20020212 X509IssuerSerial element); @@ -113,13 +121,12 @@ namespace xmlsignature { static const XMLCh TYPE_NAME[]; END_XMLOBJECT; - BEGIN_XMLOBJECT(XMLTOOL_API,X509Data,xmltooling::XMLObject,XML Digital Signature version 20020212 X509Data element); + BEGIN_XMLOBJECT(XMLTOOL_API,X509Data,xmltooling::ElementExtensibleXMLObject,XML Digital Signature version 20020212 X509Data element); DECL_TYPED_CHILDREN(X509IssuerSerial); DECL_TYPED_CHILDREN(X509SKI); DECL_TYPED_CHILDREN(X509SubjectName); DECL_TYPED_CHILDREN(X509Certificate); DECL_TYPED_CHILDREN(X509CRL); - DECL_XMLOBJECT_CHILDREN(OtherX509Data); /** X509DataType local name */ static const XMLCh TYPE_NAME[]; END_XMLOBJECT; @@ -135,15 +142,14 @@ namespace xmlsignature { virtual const std::vector< std::pair >& getSPKISexps() const=0; END_XMLOBJECT; - BEGIN_XMLOBJECT(XMLTOOL_API,PGPData,xmltooling::XMLObject,XML Digital Signature version 20020212 PGPData element); + BEGIN_XMLOBJECT(XMLTOOL_API,PGPData,xmltooling::ElementExtensibleXMLObject,XML Digital Signature version 20020212 PGPData element); DECL_TYPED_CHILD(PGPKeyID); DECL_TYPED_CHILD(PGPKeyPacket); - DECL_XMLOBJECT_CHILDREN(PGPDataExtension); /** PGPDataType local name */ static const XMLCh TYPE_NAME[]; END_XMLOBJECT; - BEGIN_XMLOBJECT(XMLTOOL_API,KeyInfo,xmltooling::XMLObject,XML Digital Signature version 20020212 KeyInfo element); + BEGIN_XMLOBJECT(XMLTOOL_API,KeyInfo,xmltooling::ElementExtensibleXMLObject,XML Digital Signature version 20020212 KeyInfo element); DECL_STRING_ATTRIB(Id,ID); DECL_TYPED_CHILDREN(X509Data); DECL_TYPED_CHILDREN(KeyName); @@ -152,7 +158,6 @@ namespace xmlsignature { DECL_TYPED_CHILDREN(MgmtData); DECL_TYPED_CHILDREN(PGPData); DECL_TYPED_CHILDREN(SPKIData); - DECL_XMLOBJECT_CHILDREN(Other); /** KeyInfoType local name */ static const XMLCh TYPE_NAME[]; END_XMLOBJECT; @@ -194,6 +199,7 @@ namespace xmlsignature { * Registers builders and validators for KeyInfo classes into the runtime. */ void XMLTOOL_API registerKeyInfoClasses(); + }; #endif /* __xmltooling_keyinfo_h__ */