version 0.1.9
[fms.git] / include / freenet / messagelistxml.h
1 #ifndef _messagelistxml_\r
2 #define _messagelistxml_\r
3 \r
4 #include "../ifmsxmldocument.h"\r
5 \r
6 #include <vector>\r
7 \r
8 class MessageListXML:public IFMSXMLDocument\r
9 {\r
10 private:\r
11         struct message\r
12         {\r
13                 message(const std::string &date, const long index, const std::vector<std::string> &boards):m_date(date),m_index(index),m_boards(boards) {}\r
14                 std::string m_date;\r
15                 long m_index;\r
16                 std::vector<std::string> m_boards;\r
17         };\r
18 public:\r
19         MessageListXML();\r
20 \r
21         std::string GetXML();\r
22         const bool ParseXML(const std::string &xml);\r
23 \r
24         void ClearMessages()    { m_messages.clear(); }\r
25 \r
26         void AddMessage(const std::string &date, const long index, const std::vector<std::string> boards);\r
27 \r
28         const std::vector<message>::size_type MessageCount()    { return m_messages.size(); }\r
29         std::string GetDate(const long index);\r
30         const long GetIndex(const long index);\r
31         std::vector<std::string> GetBoards(const long index);\r
32 \r
33 private:\r
34         void Initialize();\r
35 \r
36         std::vector<message> m_messages;\r
37 \r
38 };\r
39 \r
40 #endif  // _messagelistxml_\r