X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fmessagelistxml.cpp;h=4eed479f1e7fe9200915998493b35b4725ebbe62;hb=3dc3ac3cfe10b7196a7977e9c041c29fa141c35e;hp=c05bb665489c56f2f1b9a72200b0497bdb7a2ac7;hpb=6b896a9e1dc143bba86795be1e9336549db9b85f;p=fms.git diff --git a/src/freenet/messagelistxml.cpp b/src/freenet/messagelistxml.cpp index c05bb66..4eed479 100644 --- a/src/freenet/messagelistxml.cpp +++ b/src/freenet/messagelistxml.cpp @@ -9,11 +9,21 @@ MessageListXML::MessageListXML() Initialize(); } -void MessageListXML::AddMessage(const std::string &date, const long index, const std::vector boards) +void MessageListXML::AddMessage(const std::string &date, const long index, const std::vector &boards) { m_messages.push_back(message(date,index,boards)); } +void MessageListXML::AddExternalMessage(const std::string &identity, const std::string &date, const long index, const std::vector &boards) +{ + m_externalmessages.push_back(externalmessage("Keyed",identity,date,index,boards)); +} + +void MessageListXML::AddExternalMessage(const std::string &messagekey, const std::string &date, const std::vector &boards) +{ + m_externalmessages.push_back(externalmessage("Anonymous",messagekey,date,boards)); +} + std::vector MessageListXML::GetBoards(const long index) { if(index>=0 && index MessageListXML::GetExternalBoards(const long index) +{ + if(index>=0 && index(); + } +} + +std::string MessageListXML::GetExternalDate(const long index) +{ + if(index>=0 && index=0 && index=0 && index=0 && index=0 && index=0 && index::iterator i=m_externalmessages.begin(); i!=m_externalmessages.end(); i++) + { + TiXmlElement *tr=new TiXmlElement("ExternalMessage"); + tid->LinkEndChild(tr); + tr->LinkEndChild(XMLCreateTextElement("Type",(*i).m_type)); + if((*i).m_type=="Keyed") + { + tr->LinkEndChild(XMLCreateCDATAElement("Identity",(*i).m_identity)); + tr->LinkEndChild(XMLCreateTextElement("Index",(*i).m_index)); + } + else + { + tr->LinkEndChild(XMLCreateCDATAElement("MessageKey",(*i).m_messagekey)); + } + tr->LinkEndChild(XMLCreateTextElement("Date",(*i).m_date)); + TiXmlElement *brds=new TiXmlElement("Boards"); + tr->LinkEndChild(brds); + for(std::vector::iterator j=(*i).m_boards.begin(); j!=(*i).m_boards.end(); j++) + { + brds->LinkEndChild(XMLCreateCDATAElement("Board",(*j))); + } + } + td.Accept(&tp); return std::string(tp.CStr()); } @@ -82,6 +187,7 @@ std::string MessageListXML::GetXML() void MessageListXML::Initialize() { m_messages.clear(); + m_externalmessages.clear(); } const bool MessageListXML::ParseXML(const std::string &xml) @@ -126,7 +232,9 @@ const bool MessageListXML::ParseXML(const std::string &xml) { if(node2->FirstChild()) { - boards.push_back(node2->FirstChild()->ValueStr()); + std::string boardname=node2->FirstChild()->ValueStr(); + StringFunctions::LowerCase(boardname,boardname); + boards.push_back(boardname); } node2=node2->NextSibling("Board"); }