version 0.3.2
[fms.git] / src / freenet / messagelistxml.cpp
index c35e10f..eb57240 100644 (file)
@@ -135,73 +135,49 @@ const long MessageListXML::GetIndex(const long index)
 std::string MessageListXML::GetXML()\r
 {\r
        Poco::AutoPtr<Poco::XML::Document> doc=new Poco::XML::Document;\r
-       //TiXmlDocument td;\r
-       //TiXmlDeclaration *tdec=new TiXmlDeclaration("1.0","UTF-8","");\r
-       Poco::XML::Element *root=doc->createElement("MessageList");\r
-       //TiXmlElement *tid;\r
-       //TiXmlPrinter tp;\r
+       Poco::AutoPtr<Poco::XML::Element> root=doc->createElement("MessageList");\r
 \r
        doc->appendChild(root);\r
-       //td.LinkEndChild(tdec);\r
-       //tid=new TiXmlElement("MessageList");\r
-       //td.LinkEndChild(tid);\r
 \r
        for(std::vector<message>::iterator i=m_messages.begin(); i!=m_messages.end(); i++)\r
        {\r
-               Poco::XML::Element *tr=doc->createElement("Message");\r
-               //TiXmlElement *tr=new TiXmlElement("Message");\r
+               Poco::AutoPtr<Poco::XML::Element> tr=doc->createElement("Message");\r
                root->appendChild(tr);\r
-               //tid->LinkEndChild(tr);\r
                tr->appendChild(XMLCreateTextElement(doc,"Date",(*i).m_date));\r
-               //tr->LinkEndChild(XMLCreateTextElement("Date",(*i).m_date));\r
                tr->appendChild(XMLCreateTextElement(doc,"Index",(*i).m_index));\r
-               //tr->LinkEndChild(XMLCreateTextElement("Index",(*i).m_index));\r
-               Poco::XML::Element *boards=doc->createElement("Boards");\r
-               //TiXmlElement *brds=new TiXmlElement("Boards");\r
+               \r
+               Poco::AutoPtr<Poco::XML::Element> boards=doc->createElement("Boards");\r
                tr->appendChild(boards);\r
-               //tr->LinkEndChild(brds);\r
                for(std::vector<std::string>::iterator j=(*i).m_boards.begin(); j!=(*i).m_boards.end(); j++)\r
                {\r
                        boards->appendChild(XMLCreateCDATAElement(doc,"Board",(*j)));\r
-                       //brds->LinkEndChild(XMLCreateCDATAElement("Board",(*j)));\r
                }\r
        }\r
 \r
        for(std::vector<externalmessage>::iterator i=m_externalmessages.begin(); i!=m_externalmessages.end(); i++)\r
        {\r
-               Poco::XML::Element *tr=doc->createElement("ExternalMessage");\r
-               //TiXmlElement *tr=new TiXmlElement("ExternalMessage");\r
+               Poco::AutoPtr<Poco::XML::Element> tr=doc->createElement("ExternalMessage");\r
                root->appendChild(tr);\r
-               //tid->LinkEndChild(tr);\r
                tr->appendChild(XMLCreateTextElement(doc,"Type",(*i).m_type));\r
-               //tr->LinkEndChild(XMLCreateTextElement("Type",(*i).m_type));\r
                if((*i).m_type=="Keyed")\r
                {\r
                        tr->appendChild(XMLCreateCDATAElement(doc,"Identity",(*i).m_identity));\r
-                       //tr->LinkEndChild(XMLCreateCDATAElement("Identity",(*i).m_identity));\r
                        tr->appendChild(XMLCreateTextElement(doc,"Index",(*i).m_index));\r
-                       //tr->LinkEndChild(XMLCreateTextElement("Index",(*i).m_index));\r
                }\r
                else\r
                {\r
                        tr->appendChild(XMLCreateCDATAElement(doc,"MessageKey",(*i).m_messagekey));\r
-                       //tr->LinkEndChild(XMLCreateCDATAElement("MessageKey",(*i).m_messagekey));\r
                }\r
                tr->appendChild(XMLCreateTextElement(doc,"Date",(*i).m_date));\r
-               //tr->LinkEndChild(XMLCreateTextElement("Date",(*i).m_date));\r
-               Poco::XML::Element *boards=doc->createElement("Boards");\r
-               //TiXmlElement *brds=new TiXmlElement("Boards");\r
+\r
+               Poco::AutoPtr<Poco::XML::Element> boards=doc->createElement("Boards");\r
                tr->appendChild(boards);\r
-               //tr->LinkEndChild(brds);\r
                for(std::vector<std::string>::iterator j=(*i).m_boards.begin(); j!=(*i).m_boards.end(); j++)\r
                {\r
                        boards->appendChild(XMLCreateCDATAElement(doc,"Board",(*j)));\r
-                       //brds->LinkEndChild(XMLCreateCDATAElement("Board",(*j)));\r
                }\r
        }\r
 \r
-       //td.Accept(&tp);\r
-       //return std::string(tp.CStr());\r
        return GenerateXML(doc);\r
 }\r
 \r
@@ -331,116 +307,4 @@ const bool MessageListXML::ParseXML(const std::string &xml)
        }\r
 \r
        return parsed;\r
-\r
-       /*\r
-       TiXmlDocument td;\r
-       td.Parse(xml.c_str());\r
-\r
-       if(!td.Error())\r
-       {\r
-               std::string tempstr;\r
-               std::string date;\r
-               long index;\r
-               std::vector<std::string> boards;\r
-               TiXmlText *txt;\r
-               TiXmlHandle hnd(&td);\r
-               TiXmlNode *node;\r
-               TiXmlNode *node2;\r
-\r
-               Initialize();\r
-\r
-               node=hnd.FirstChild("MessageList").FirstChild("Message").ToNode();\r
-               while(node)\r
-               {\r
-                       date="";\r
-                       index=-1;\r
-                       boards.clear();\r
-\r
-                       TiXmlHandle hnd2(node);\r
-                       txt=hnd2.FirstChild("Date").FirstChild().ToText();\r
-                       if(txt)\r
-                       {\r
-                               date=SanitizeSingleString(txt->ValueStr());\r
-                       }\r
-                       txt=hnd2.FirstChild("Index").FirstChild().ToText();\r
-                       if(txt)\r
-                       {\r
-                               tempstr=SanitizeSingleString(txt->ValueStr());\r
-                               StringFunctions::Convert(tempstr,index);\r
-                       }\r
-                       node2=hnd2.FirstChild("Boards").FirstChild("Board").ToNode();\r
-                       while(node2)\r
-                       {\r
-                               if(node2->FirstChild())\r
-                               {\r
-                                       std::string boardname=SanitizeSingleString(node2->FirstChild()->ValueStr());\r
-                                       StringFunctions::LowerCase(boardname,boardname);\r
-                                       boards.push_back(boardname);\r
-                               }\r
-                               node2=node2->NextSibling("Board");\r
-                       }\r
-\r
-                       m_messages.push_back(message(date,index,boards));\r
-\r
-                       node=node->NextSibling("Message");\r
-               }\r
-\r
-               node=hnd.FirstChild("MessageList").FirstChild("ExternalMessage").ToNode();\r
-               while(node)\r
-               {\r
-                       std::string type="";\r
-                       std::string identity="";\r
-                       date="";\r
-                       index=-1;\r
-                       boards.clear();\r
-\r
-                       TiXmlHandle hnd2(node);\r
-                       txt=hnd2.FirstChild("Type").FirstChild().ToText();\r
-                       if(txt)\r
-                       {\r
-                               type=SanitizeSingleString(txt->ValueStr());\r
-                       }\r
-\r
-                       if(type=="Keyed")\r
-                       {\r
-                               txt=hnd2.FirstChild("Identity").FirstChild().ToText();\r
-                               if(txt)\r
-                               {\r
-                                       identity=SanitizeSingleString(txt->ValueStr());\r
-                               }\r
-                               txt=hnd2.FirstChild("Date").FirstChild().ToText();\r
-                               if(txt)\r
-                               {\r
-                                       date=SanitizeSingleString(txt->ValueStr());\r
-                               }\r
-                               txt=hnd2.FirstChild("Index").FirstChild().ToText();\r
-                               if(txt)\r
-                               {\r
-                                       tempstr=SanitizeSingleString(txt->ValueStr());\r
-                                       StringFunctions::Convert(tempstr,index);\r
-                               }\r
-                               node2=hnd2.FirstChild("Boards").FirstChild("Board").ToNode();\r
-                               while(node2)\r
-                               {\r
-                                       if(node2->FirstChild())\r
-                                       {\r
-                                               std::string boardname=SanitizeSingleString(node2->FirstChild()->ValueStr());\r
-                                               StringFunctions::LowerCase(boardname,boardname);\r
-                                               boards.push_back(boardname);\r
-                                       }\r
-                                       node2=node2->NextSibling("Board");\r
-                               }\r
-                               m_externalmessages.push_back(externalmessage("Keyed",identity,date,index,boards));\r
-                       }\r
-\r
-                       node=node->NextSibling("ExternalMessage");\r
-               }\r
-\r
-               return true;\r
-       }\r
-       else\r
-       {\r
-               return false;\r
-       }\r
-       */\r
 }\r