/*
- * 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.
*/
#include "internal.h"
-#include "AbstractSimpleElement.h"
#include "AbstractComplexElement.h"
-#include "AbstractElementProxy.h"
#include "AbstractSimpleElement.h"
#include "exceptions.h"
#include "io/AbstractXMLObjectMarshaller.h"
using namespace xmlsignature;
using namespace xmltooling;
+using namespace xercesc;
using namespace std;
using xmlconstants::XMLSIG_NS;
public:
virtual ~DSAKeyValueImpl() {}
- DSAKeyValueImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ DSAKeyValueImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
public:
virtual ~RSAKeyValueImpl() {}
- RSAKeyValueImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ RSAKeyValueImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
public:
virtual ~KeyValueImpl() {}
- KeyValueImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ KeyValueImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
setDSAKeyValue(src.getDSAKeyValue()->cloneDSAKeyValue());
if (src.getRSAKeyValue())
setRSAKeyValue(src.getRSAKeyValue()->cloneRSAKeyValue());
- if (src.getOtherKeyValue())
- setOtherKeyValue(src.getOtherKeyValue()->clone());
+ if (src.getUnknownXMLObject())
+ setUnknownXMLObject(src.getUnknownXMLObject()->clone());
}
void init() {
m_DSAKeyValue=NULL;
m_RSAKeyValue=NULL;
- m_OtherKeyValue=NULL;
+ m_UnknownXMLObject=NULL;
m_children.push_back(NULL);
m_children.push_back(NULL);
m_children.push_back(NULL);
m_pos_DSAKeyValue=m_children.begin();
m_pos_RSAKeyValue=m_pos_DSAKeyValue;
++m_pos_RSAKeyValue;
- m_pos_OtherKeyValue=m_pos_RSAKeyValue;
- ++m_pos_OtherKeyValue;
+ m_pos_UnknownXMLObject=m_pos_RSAKeyValue;
+ ++m_pos_UnknownXMLObject;
}
IMPL_XMLOBJECT_CLONE(KeyValue);
IMPL_TYPED_CHILD(DSAKeyValue);
IMPL_TYPED_CHILD(RSAKeyValue);
- IMPL_XMLOBJECT_CHILD(OtherKeyValue);
+ IMPL_XMLOBJECT_CHILD(UnknownXMLObject);
protected:
void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
// Unknown child.
const XMLCh* nsURI=root->getNamespaceURI();
if (!XMLString::equals(nsURI,XMLSIG_NS) && nsURI && *nsURI) {
- setOtherKeyValue(childXMLObject);
+ setUnknownXMLObject(childXMLObject);
return;
}
};
class XMLTOOL_DLLLOCAL TransformImpl : public virtual Transform,
+ public AbstractComplexElement,
public AbstractDOMCachingXMLObject,
- public AbstractElementProxy,
public AbstractXMLObjectMarshaller,
public AbstractXMLObjectUnmarshaller
{
XMLString::release(&m_Algorithm);
}
- TransformImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ TransformImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType), m_Algorithm(NULL) {
}
TransformImpl(const TransformImpl& src)
- : AbstractXMLObject(src), AbstractDOMCachingXMLObject(src), AbstractElementProxy(src),
+ : AbstractXMLObject(src), AbstractComplexElement(src), AbstractDOMCachingXMLObject(src),
m_Algorithm(XMLString::replicate(src.m_Algorithm)) {
for (list<XMLObject*>::const_iterator i=src.m_children.begin(); i!=src.m_children.end(); i++) {
if (*i) {
getXPaths().push_back(x->cloneXPath());
continue;
}
- getXMLObjects().push_back((*i)->clone());
+ getUnknownXMLObjects().push_back((*i)->clone());
}
}
}
IMPL_XMLOBJECT_CLONE(Transform);
IMPL_STRING_ATTRIB(Algorithm);
IMPL_TYPED_CHILDREN(XPath,m_children.end());
+ IMPL_XMLOBJECT_CHILDREN(UnknownXMLObject,m_children.end());
protected:
void marshallAttributes(DOMElement* domElement) const {
// Unknown child.
const XMLCh* nsURI=root->getNamespaceURI();
if (!XMLString::equals(nsURI,XMLSIG_NS) && nsURI && *nsURI) {
- getXMLObjects().push_back(childXMLObject);
+ getUnknownXMLObjects().push_back(childXMLObject);
return;
}
public:
virtual ~TransformsImpl() {}
- TransformsImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ TransformsImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
}
XMLString::release(&m_Type);
}
- RetrievalMethodImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ RetrievalMethodImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
public:
virtual ~X509IssuerSerialImpl() {}
- X509IssuerSerialImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ X509IssuerSerialImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
public:
virtual ~X509DataImpl() {}
- X509DataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ X509DataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
}
continue;
}
- getOtherX509Datas().push_back((*i)->clone());
+ getUnknownXMLObjects().push_back((*i)->clone());
}
}
}
IMPL_TYPED_CHILDREN(X509SubjectName,m_children.end());
IMPL_TYPED_CHILDREN(X509Certificate,m_children.end());
IMPL_TYPED_CHILDREN(X509CRL,m_children.end());
- IMPL_XMLOBJECT_CHILDREN(OtherX509Data,m_children.end());
+ IMPL_XMLOBJECT_CHILDREN(UnknownXMLObject,m_children.end());
protected:
void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
// Unknown child.
const XMLCh* nsURI=root->getNamespaceURI();
if (!XMLString::equals(nsURI,XMLSIG_NS) && nsURI && *nsURI) {
- getOtherX509Datas().push_back(childXMLObject);
+ getUnknownXMLObjects().push_back(childXMLObject);
return;
}
public:
virtual ~SPKIDataImpl() {}
- SPKIDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ SPKIDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
}
public:
virtual ~PGPDataImpl() {}
- PGPDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ PGPDataImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType) {
init();
}
setPGPKeyID(src.getPGPKeyID()->clonePGPKeyID());
if (src.getPGPKeyPacket())
setPGPKeyPacket(src.getPGPKeyPacket()->clonePGPKeyPacket());
- VectorOf(XMLObject) v=getPGPDataExtensions();
- for (vector<XMLObject*>::const_iterator i=src.m_PGPDataExtensions.begin(); i!=src.m_PGPDataExtensions.end(); i++) {
- if (*i) {
- v.push_back((*i)->clone());
- }
- }
+ VectorOf(XMLObject) v=getUnknownXMLObjects();
+ for (vector<XMLObject*>::const_iterator i=src.m_UnknownXMLObjects.begin(); i!=src.m_UnknownXMLObjects.end(); ++i)
+ v.push_back((*i)->clone());
}
void init() {
IMPL_XMLOBJECT_CLONE(PGPData);
IMPL_TYPED_CHILD(PGPKeyID);
IMPL_TYPED_CHILD(PGPKeyPacket);
- IMPL_XMLOBJECT_CHILDREN(PGPDataExtension,m_children.end());
+ IMPL_XMLOBJECT_CHILDREN(UnknownXMLObject,m_children.end());
protected:
void processChildElement(XMLObject* childXMLObject, const DOMElement* root) {
// Unknown child.
const XMLCh* nsURI=root->getNamespaceURI();
if (!XMLString::equals(nsURI,XMLSIG_NS) && nsURI && *nsURI) {
- getPGPDataExtensions().push_back(childXMLObject);
+ getUnknownXMLObjects().push_back(childXMLObject);
return;
}
XMLString::release(&m_Id);
}
- KeyInfoImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType)
+ KeyInfoImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType)
: AbstractXMLObject(nsURI, localName, prefix, schemaType), m_Id(NULL) {
}
continue;
}
- getOthers().push_back((*i)->clone());
+ getUnknownXMLObjects().push_back((*i)->clone());
}
}
}
IMPL_TYPED_CHILDREN(MgmtData,m_children.end());
IMPL_TYPED_CHILDREN(SPKIData,m_children.end());
IMPL_TYPED_CHILDREN(PGPData,m_children.end());
- IMPL_XMLOBJECT_CHILDREN(Other,m_children.end());
+ IMPL_XMLOBJECT_CHILDREN(UnknownXMLObject,m_children.end());
protected:
void marshallAttributes(DOMElement* domElement) const {
// Unknown child.
const XMLCh* nsURI=root->getNamespaceURI();
if (!XMLString::equals(nsURI,XMLSIG_NS) && nsURI && *nsURI) {
- getOthers().push_back(childXMLObject);
+ getUnknownXMLObjects().push_back(childXMLObject);
return;
}
};
const XMLCh X509CRL::LOCAL_NAME[] = { XCH(X), XNUM(5), XNUM(0), XNUM(9), XCH(C), XCH(R), XCH(L), chNull };
+const XMLCh RetrievalMethod::TYPE_DSAKEYVALUE[] = {
+ chLatin_h, chLatin_t, chLatin_t, chLatin_p, chColon, chForwardSlash, chForwardSlash,
+ chLatin_w, chLatin_w, chLatin_w, chPeriod, chLatin_w, chDigit_3, chPeriod, chLatin_o, chLatin_r, chLatin_g, chForwardSlash,
+ chDigit_2, chDigit_0, chDigit_0, chDigit_0, chForwardSlash, chDigit_0, chDigit_9, chForwardSlash,
+ chLatin_x, chLatin_m, chLatin_l, chLatin_d, chLatin_s, chLatin_i, chLatin_g, chPound,
+ chLatin_D, chLatin_S, chLatin_A, chLatin_K, chLatin_e, chLatin_y, chLatin_V, chLatin_a, chLatin_l, chLatin_u, chLatin_e, chNull
+ };
+
+const XMLCh RetrievalMethod::TYPE_RSAKEYVALUE[] = {
+ chLatin_h, chLatin_t, chLatin_t, chLatin_p, chColon, chForwardSlash, chForwardSlash,
+ chLatin_w, chLatin_w, chLatin_w, chPeriod, chLatin_w, chDigit_3, chPeriod, chLatin_o, chLatin_r, chLatin_g, chForwardSlash,
+ chDigit_2, chDigit_0, chDigit_0, chDigit_0, chForwardSlash, chDigit_0, chDigit_9, chForwardSlash,
+ chLatin_x, chLatin_m, chLatin_l, chLatin_d, chLatin_s, chLatin_i, chLatin_g, chPound,
+ chLatin_R, chLatin_S, chLatin_A, chLatin_K, chLatin_e, chLatin_y, chLatin_V, chLatin_a, chLatin_l, chLatin_u, chLatin_e, chNull
+ };
+
+const XMLCh RetrievalMethod::TYPE_X509DATA[] = {
+ chLatin_h, chLatin_t, chLatin_t, chLatin_p, chColon, chForwardSlash, chForwardSlash,
+ chLatin_w, chLatin_w, chLatin_w, chPeriod, chLatin_w, chDigit_3, chPeriod, chLatin_o, chLatin_r, chLatin_g, chForwardSlash,
+ chDigit_2, chDigit_0, chDigit_0, chDigit_0, chForwardSlash, chDigit_0, chDigit_9, chForwardSlash,
+ chLatin_x, chLatin_m, chLatin_l, chLatin_d, chLatin_s, chLatin_i, chLatin_g, chPound,
+ chLatin_X, chDigit_5, chDigit_0, chDigit_9, chLatin_D, chLatin_a, chLatin_t, chLatin_a, chNull
+ };
+