1 #include "../../include/freenet/trustlistxml.h"
\r
2 #include "../../include/stringfunctions.h"
\r
8 TrustListXML::TrustListXML()
\r
13 void TrustListXML::AddTrust(const std::string &identity, const long messagetrust, const long trustlisttrust)
\r
15 m_trust.push_back(trust(identity,messagetrust,trustlisttrust));
\r
18 std::string TrustListXML::GetIdentity(const long index)
\r
20 if(index>=0 && index<m_trust.size())
\r
22 return m_trust[index].m_identity;
\r
30 long TrustListXML::GetMessageTrust(const long index)
\r
32 if(index>=0 && index<m_trust.size())
\r
34 return m_trust[index].m_messagetrust;
\r
42 long TrustListXML::GetTrustListTrust(const long index)
\r
44 if(index>=0 && index<m_trust.size())
\r
46 return m_trust[index].m_trustlisttrust;
\r
54 std::string TrustListXML::GetXML()
\r
57 TiXmlDeclaration *tdec=new TiXmlDeclaration("1.0","UTF-8","");
\r
61 td.LinkEndChild(tdec);
\r
62 tid=new TiXmlElement("TrustList");
\r
63 td.LinkEndChild(tid);
\r
65 for(std::vector<trust>::iterator i=m_trust.begin(); i!=m_trust.end(); i++)
\r
67 std::string messagetrust;
\r
68 std::string trustlisttrust;
\r
69 StringFunctions::Convert((*i).m_messagetrust,messagetrust);
\r
70 StringFunctions::Convert((*i).m_trustlisttrust,trustlisttrust);
\r
71 TiXmlElement *tr=new TiXmlElement("Trust");
\r
72 tid->LinkEndChild(tr);
\r
73 tr->LinkEndChild(XMLCreateCDATAElement("Identity",(*i).m_identity));
\r
74 tr->LinkEndChild(XMLCreateTextElement("MessageTrustLevel",messagetrust));
\r
75 tr->LinkEndChild(XMLCreateTextElement("TrustListTrustLevel",trustlisttrust));
\r
79 return std::string(tp.CStr());
\r
82 void TrustListXML::Initialize()
\r
87 const bool TrustListXML::ParseXML(const std::string &xml)
\r
90 td.Parse(xml.c_str());
\r
94 std::string identity;
\r
95 std::string messagetruststr;
\r
96 std::string trustlisttruststr;
\r
98 long trustlisttrust;
\r
100 TiXmlHandle hnd(&td);
\r
105 node=hnd.FirstChild("TrustList").FirstChild("Trust").ToElement();
\r
112 TiXmlHandle hnd2(node);
\r
113 txt=hnd2.FirstChild("Identity").FirstChild().ToText();
\r
116 identity=txt->ValueStr();
\r
118 txt=hnd2.FirstChild("MessageTrustLevel").FirstChild().ToText();
\r
121 messagetruststr=txt->ValueStr();
\r
122 StringFunctions::Convert(messagetruststr,messagetrust);
\r
124 txt=hnd2.FirstChild("TrustListTrustLevel").FirstChild().ToText();
\r
127 trustlisttruststr=txt->ValueStr();
\r
128 StringFunctions::Convert(trustlisttruststr,trustlisttrust);
\r
131 if(identity!="" && messagetrust>=0 && messagetrust<=100 && trustlisttrust>=0 && trustlisttrust<=100)
\r
133 m_trust.push_back(trust(identity,messagetrust,trustlisttrust));
\r
137 m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"TrustListXML::ParseXML malformed Trust in TrustList.xml");
\r
140 node=node->NextSibling("Trust");
\r