// --------------------------------------------------------------------------- // Add <KeyName> element to <KeyInfo> node and set the value of it. // --------------------------------------------------------------------------- // void XmlSecTemplate::SetKeyInfoL(RXmlEngDocument& aTemplate, const TDesC8& aKeyName) { if(!aKeyName.Compare(KNullDesC8)) { User::Leave(KErrWrongParameter); } if(aTemplate.IsNull()) { User::Leave(KErrTemplate); } xmlNodePtr keyInfo = NULL; TXmlEngNode tmpNode = aTemplate.DocumentElement(); xmlNodePtr root = INTERNAL_NODEPTR(tmpNode); keyInfo = xmlSecFindNode(root,xmlSecNodeKeyInfo, xmlSecDSigNs); if(!keyInfo) { User::Leave(KErrTemplate); } TXmlEngElement(keyInfo).RemoveChildren(); char* name = XmlEngXmlCharFromDes8L(aKeyName); root = xmlSecTmplKeyInfoAddKeyName(keyInfo,(unsigned char*)name); delete name; if(!root) { User::Leave(KErrNoMemory); } }
// --------------------------------------------------------------------------- // Set Template // --------------------------------------------------------------------------- // void XmlSecTemplate::SetTemplateL(RXmlEngDocument& aTemplate, const RXmlEngDocument& aInput) { if(aInput.IsNull()) { User::Leave(KErrTemplate); }; if(aTemplate.NotNull()) { aTemplate.Close(); } aTemplate = aInput.CloneDocumentL(); }
// --------------------------------------------------------------------------- // Add element to <KeyInfo> node. // --------------------------------------------------------------------------- // void XmlSecTemplate::SetKeyInfoL(RXmlEngDocument& aTemplate, TXmlEngElement aKeyProp) { if(aKeyProp.IsNull()) { User::Leave(KErrWrongParameter); } if(aTemplate.IsNull()) { User::Leave(KErrTemplate); } xmlNodePtr keyInfo = NULL; TXmlEngNode tmpNode = aTemplate.DocumentElement(); xmlNodePtr root = INTERNAL_NODEPTR(tmpNode); keyInfo = xmlSecFindNode(root,xmlSecNodeKeyInfo, xmlSecDSigNs); if(!keyInfo) { User::Leave(KErrTemplate); } TXmlEngElement keyIn(keyInfo); keyIn.RemoveChildren(); keyIn.AppendChildL(aKeyProp); }