version 0.1.0
[fms.git] / include / freenet / messagexml.h
1 #ifndef _messagexml_\r
2 #define _messagexml_\r
3 \r
4 #include "../ifmsxmldocument.h"\r
5 #include <vector>\r
6 #include <map>\r
7 \r
8 class MessageXML:public IFMSXMLDocument\r
9 {\r
10 public:\r
11 \r
12         MessageXML();\r
13 \r
14         std::string GetXML();\r
15         const bool ParseXML(const std::string &xml);\r
16 \r
17         std::string GetDate()                                           { return m_date; }\r
18         std::string GetTime()                                           { return m_time; }\r
19         std::string GetSubject()                                        { return m_subject; }\r
20         std::string GetMessageID()                                      { return m_messageid; }\r
21         std::string GetReplyBoard()                                     { return m_replyboard; }\r
22         std::string GetBody()                                           { return m_body; }\r
23         std::vector<std::string> GetBoards()            { return m_boards; }\r
24         std::map<long,std::string> GetInReplyTo()       { return m_inreplyto; }\r
25 \r
26         void SetDate(const std::string &date)                                                           { m_date=date; }\r
27         void SetTime(const std::string &time)                                                           { m_time=time; }\r
28         void SetSubject(const std::string &subject)                                                     { m_subject=subject; }\r
29         void SetMessageID(const std::string &messageid)                                         { m_messageid=messageid; }\r
30         void SetReplyBoard(const std::string &replyboard)                                       { m_replyboard=replyboard; }\r
31         void SetBody(const std::string &body)                                                           { m_body=body; }\r
32         void AddBoard(const std::string &board)                                                         { m_boards.push_back(board); }\r
33         void AddInReplyTo(const long index, const std::string &messageid)       { m_inreplyto[index]=messageid; }\r
34 \r
35 private:\r
36         void Initialize();\r
37 \r
38         std::string m_date;\r
39         std::string m_time;\r
40         std::string m_subject;\r
41         std::string m_messageid;\r
42         std::vector<std::string> m_boards;\r
43         std::string m_replyboard;\r
44         std::map<long,std::string> m_inreplyto;\r
45         std::string m_body;\r
46 \r
47 };\r
48 \r
49 #endif  // _messagexml_\r