Initialize();\r
}\r
\r
-void MessageListXML::AddMessage(const std::string &date, const long index, const std::vector<std::string> boards)\r
+void MessageListXML::AddMessage(const std::string &date, const long index, const std::vector<std::string> &boards)\r
{\r
m_messages.push_back(message(date,index,boards));\r
}\r
\r
+void MessageListXML::AddExternalMessage(const std::string &identity, const std::string &date, const long index, const std::vector<std::string> &boards)\r
+{\r
+ m_externalmessages.push_back(externalmessage("Keyed",identity,date,index,boards));\r
+}\r
+\r
+void MessageListXML::AddExternalMessage(const std::string &messagekey, const std::string &date, const std::vector<std::string> &boards)\r
+{\r
+ m_externalmessages.push_back(externalmessage("Anonymous",messagekey,date,boards));\r
+}\r
+\r
std::vector<std::string> MessageListXML::GetBoards(const long index)\r
{\r
if(index>=0 && index<m_messages.size())\r
}\r
}\r
\r
+std::vector<std::string> MessageListXML::GetExternalBoards(const long index)\r
+{\r
+ if(index>=0 && index<m_externalmessages.size())\r
+ {\r
+ return m_externalmessages[index].m_boards;\r
+ }\r
+ else\r
+ {\r
+ return std::vector<std::string>();\r
+ }\r
+}\r
+\r
+std::string MessageListXML::GetExternalDate(const long index)\r
+{\r
+ if(index>=0 && index<m_externalmessages.size())\r
+ {\r
+ return m_externalmessages[index].m_date;\r
+ }\r
+ else\r
+ {\r
+ return "";\r
+ }\r
+}\r
+\r
+std::string MessageListXML::GetExternalIdentity(const long index)\r
+{\r
+ if(index>=0 && index<m_externalmessages.size())\r
+ {\r
+ return m_externalmessages[index].m_identity;\r
+ }\r
+ else\r
+ {\r
+ return "";\r
+ }\r
+}\r
+\r
+const long MessageListXML::GetExternalIndex(const long index)\r
+{\r
+ if(index>=0 && index<m_externalmessages.size())\r
+ {\r
+ return m_externalmessages[index].m_index;\r
+ }\r
+ else\r
+ {\r
+ return-1;\r
+ }\r
+}\r
+\r
+std::string MessageListXML::GetExternalMessageKey(const long index)\r
+{\r
+ if(index>=0 && index<m_externalmessages.size())\r
+ {\r
+ return m_externalmessages[index].m_messagekey;\r
+ }\r
+ else\r
+ {\r
+ return "";\r
+ }\r
+}\r
+\r
+std::string MessageListXML::GetExternalType(const long index)\r
+{\r
+ if(index>=0 && index<m_externalmessages.size())\r
+ {\r
+ return m_externalmessages[index].m_type;\r
+ }\r
+ else\r
+ {\r
+ return "";\r
+ }\r
+}\r
+\r
const long MessageListXML::GetIndex(const long index)\r
{\r
if(index>=0 && index<m_messages.size())\r
}\r
}\r
\r
+ for(std::vector<externalmessage>::iterator i=m_externalmessages.begin(); i!=m_externalmessages.end(); i++)\r
+ {\r
+ TiXmlElement *tr=new TiXmlElement("ExternalMessage");\r
+ tid->LinkEndChild(tr);\r
+ tr->LinkEndChild(XMLCreateTextElement("Type",(*i).m_type));\r
+ if((*i).m_type=="Keyed")\r
+ {\r
+ tr->LinkEndChild(XMLCreateCDATAElement("Identity",(*i).m_identity));\r
+ tr->LinkEndChild(XMLCreateTextElement("Index",(*i).m_index));\r
+ }\r
+ else\r
+ {\r
+ tr->LinkEndChild(XMLCreateCDATAElement("MessageKey",(*i).m_messagekey));\r
+ }\r
+ tr->LinkEndChild(XMLCreateTextElement("Date",(*i).m_date));\r
+ TiXmlElement *brds=new TiXmlElement("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
+ brds->LinkEndChild(XMLCreateCDATAElement("Board",(*j)));\r
+ }\r
+ }\r
+\r
td.Accept(&tp);\r
return std::string(tp.CStr());\r
}\r
void MessageListXML::Initialize()\r
{\r
m_messages.clear();\r
+ m_externalmessages.clear();\r
}\r
\r
const bool MessageListXML::ParseXML(const std::string &xml)\r
{\r
if(node2->FirstChild())\r
{\r
- boards.push_back(node2->FirstChild()->ValueStr());\r
+ std::string boardname=node2->FirstChild()->ValueStr();\r
+ StringFunctions::LowerCase(boardname,boardname);\r
+ boards.push_back(boardname);\r
}\r
node2=node2->NextSibling("Board");\r
}\r