version 0.1.14
[fms.git] / include / freenet / messagelistxml.h
index 54d4998..1cbf861 100644 (file)
@@ -7,6 +7,25 @@
 \r
 class MessageListXML:public IFMSXMLDocument\r
 {\r
+private:\r
+       struct message\r
+       {\r
+               message(const std::string &date, const long index, const std::vector<std::string> &boards):m_date(date),m_index(index),m_boards(boards) {}\r
+               std::string m_date;\r
+               long m_index;\r
+               std::vector<std::string> m_boards;\r
+       };\r
+       struct externalmessage\r
+       {\r
+               externalmessage(const std::string &type, const std::string identity, const std::string &date, const long index, const std::vector<std::string> &boards):m_type(type),m_identity(identity),m_date(date),m_index(index),m_boards(boards)  {}\r
+               externalmessage(const std::string &type, const std::string messagekey, const std::string &date, const std::vector<std::string> &boards):m_type(type),m_messagekey(messagekey),m_date(date),m_boards(boards)                                                             {}\r
+               std::string m_type;\r
+               std::string m_identity;\r
+               std::string m_messagekey;\r
+               long m_index;\r
+               std::string m_date;\r
+               std::vector<std::string> m_boards;\r
+       };\r
 public:\r
        MessageListXML();\r
 \r
@@ -15,25 +34,28 @@ public:
 \r
        void ClearMessages()    { m_messages.clear(); }\r
 \r
-       void AddMessage(const std::string &date, const long index, const std::vector<std::string> boards);\r
+       void AddMessage(const std::string &date, const long index, const std::vector<std::string> &boards);\r
+       void AddExternalMessage(const std::string &identity, const std::string &date, const long index, const std::vector<std::string> &boards);\r
+       void AddExternalMessage(const std::string &messagekey, const std::string &date, const std::vector<std::string> &boards);\r
 \r
-       const long MessageCount()       { return m_messages.size(); }\r
+       const std::vector<message>::size_type MessageCount()    { return m_messages.size(); }\r
        std::string GetDate(const long index);\r
        const long GetIndex(const long index);\r
        std::vector<std::string> GetBoards(const long index);\r
 \r
-private:\r
-       struct message\r
-       {\r
-               message(const std::string &date, const long index, const std::vector<std::string> &boards):m_date(date),m_index(index),m_boards(boards) {}\r
-               std::string m_date;\r
-               long m_index;\r
-               std::vector<std::string> m_boards;\r
-       };\r
+       const std::vector<externalmessage>::size_type ExternalMessageCount()    { return m_externalmessages.size(); }\r
+       std::string GetExternalType(const long index);\r
+       std::string GetExternalIdentity(const long index);\r
+       std::string GetExternalMessageKey(const long index);\r
+       const long GetExternalIndex(const long index);\r
+       std::string GetExternalDate(const long index);\r
+       std::vector<std::string> GetExternalBoards(const long index);\r
 \r
+private:\r
        void Initialize();\r
 \r
        std::vector<message> m_messages;\r
+       std::vector<externalmessage> m_externalmessages;\r
 \r
 };\r
 \r