}\r
}\r
\r
+ // add attachemnt node if we have attachments\r
+ if(m_fileattachments.size()>0)\r
+ {\r
+ TiXmlElement *attachments=new TiXmlElement("Attachments");\r
+ tid->LinkEndChild(attachments);\r
+ for(std::vector<fileattachment>::iterator j=m_fileattachments.begin(); j!=m_fileattachments.end(); j++)\r
+ {\r
+ TiXmlElement *f=new TiXmlElement("File");\r
+ attachments->LinkEndChild(f);\r
+ f->LinkEndChild(XMLCreateCDATAElement("Key",(*j).m_key));\r
+ f->LinkEndChild(XMLCreateTextElement("Size",(*j).m_size));\r
+ }\r
+ }\r
+\r
td.Accept(&tp);\r
return std::string(tp.CStr());\r
}\r
m_replyboard="";\r
m_inreplyto.clear();\r
m_body="";\r
+ m_fileattachments.clear();\r
}\r
\r
const bool MessageXML::ParseXML(const std::string &xml)\r
node2=node2->NextSibling("Message");\r
}\r
\r
+ node2=hnd.FirstChild("Message").FirstChild("Attachments").FirstChild("File").ToNode();\r
+ while(node2)\r
+ {\r
+ std::string key="";\r
+ std::string sizestr="-1";\r
+ int size=-1;\r
+\r
+ TiXmlHandle hnd2(node2);\r
+\r
+ txt=hnd2.FirstChild("Key").FirstChild().ToText();\r
+ if(txt)\r
+ {\r
+ key=txt->ValueStr();\r
+ }\r
+\r
+ txt=hnd2.FirstChild("Size").FirstChild().ToText();\r
+ if(txt)\r
+ {\r
+ sizestr=txt->ValueStr();\r
+ StringFunctions::Convert(sizestr,size);\r
+ }\r
+\r
+ if(key!="" && size>0)\r
+ {\r
+ m_fileattachments.push_back(fileattachment(key,size));\r
+ }\r
+\r
+ node2=node2->NextSibling("File");\r
+ }\r
+\r
return true;\r
}\r
else\r