projects
/
fms.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version 0.3.10
[fms.git]
/
src
/
freenet
/
identityintroductionxml.cpp
diff --git
a/src/freenet/identityintroductionxml.cpp
b/src/freenet/identityintroductionxml.cpp
index
c8594f0
..
f6b8a2e
100644
(file)
--- a/
src/freenet/identityintroductionxml.cpp
+++ b/
src/freenet/identityintroductionxml.cpp
@@
-12,19
+12,14
@@
IdentityIntroductionXML::IdentityIntroductionXML()
\r
std::string IdentityIntroductionXML::GetXML()
\r
{
\r
\r
std::string IdentityIntroductionXML::GetXML()
\r
{
\r
- TiXmlDocument td;
\r
- TiXmlDeclaration *tdec=new TiXmlDeclaration("1.0","UTF-8","");
\r
- TiXmlElement *tid;
\r
- TiXmlPrinter tp;
\r
+ Poco::AutoPtr<Poco::XML::Document> doc=new Poco::XML::Document;
\r
+ Poco::AutoPtr<Poco::XML::Element> root=doc->createElement("IdentityIntroduction");
\r
\r
\r
- td.LinkEndChild(tdec);
\r
- tid=new TiXmlElement("IdentityIntroduction");
\r
- td.LinkEndChild(tid);
\r
+ doc->appendChild(root);
\r
\r
\r
-
tid->LinkEndChild(XMLCreateCDATAElement(
"Identity",m_identity));
\r
+
root->appendChild(XMLCreateCDATAElement(doc,
"Identity",m_identity));
\r
\r
\r
- td.Accept(&tp);
\r
- return std::string(tp.CStr());
\r
+ return GenerateXML(doc);
\r
}
\r
\r
void IdentityIntroductionXML::Initialize()
\r
}
\r
\r
void IdentityIntroductionXML::Initialize()
\r
@@
-35,34
+30,37
@@
void IdentityIntroductionXML::Initialize()
const bool IdentityIntroductionXML::ParseXML(const std::string &xml)
\r
{
\r
FreenetSSK ssk;
\r
const bool IdentityIntroductionXML::ParseXML(const std::string &xml)
\r
{
\r
FreenetSSK ssk;
\r
-
TiXmlDocument td
;
\r
-
td.Parse(xml.c_str())
;
\r
+
bool parsed=false
;
\r
+
Poco::XML::DOMParser dp
;
\r
\r
\r
- if(!td.Error())
\r
- {
\r
- TiXmlElement *el;
\r
- TiXmlText *txt;
\r
- TiXmlHandle hnd(&td);
\r
+ Initialize();
\r
\r
\r
- Initialize();
\r
+ try
\r
+ {
\r
+ Poco::AutoPtr<Poco::XML::Document> doc=dp.parseString(FixCDATA(xml));
\r
+ Poco::XML::Element *root=XMLGetFirstChild(doc,"IdentityIntroduction");
\r
+ Poco::XML::Element *txt=NULL;
\r
\r
\r
- txt=
hnd.FirstChild("IdentityIntroduction").FirstChild("Identity").FirstChild().ToText(
);
\r
+ txt=
XMLGetFirstChild(root,"Identity"
);
\r
if(txt)
\r
{
\r
if(txt)
\r
{
\r
- m_identity=txt->ValueStr();
\r
+ if(txt->firstChild())
\r
+ {
\r
+ m_identity=SanitizeSingleString(txt->firstChild()->getNodeValue());
\r
+ }
\r
}
\r
}
\r
+
\r
ssk.SetPublicKey(m_identity);
\r
if(ssk.ValidPublicKey()==false)
\r
{
\r
return false;
\r
}
\r
\r
ssk.SetPublicKey(m_identity);
\r
if(ssk.ValidPublicKey()==false)
\r
{
\r
return false;
\r
}
\r
\r
- return true;
\r
-
\r
+ parsed=true;
\r
}
\r
}
\r
- else
\r
+ catch(...)
\r
{
\r
{
\r
- return false;
\r
}
\r
\r
}
\r
\r
+ return parsed;
\r
}
\r
}
\r