version 0.1.9
[fms.git] / include / freenet / trustlistxml.h
1 #ifndef _trustlistxml_\r
2 #define _trustlistxml_\r
3 \r
4 #include "../ifmsxmldocument.h"\r
5 #include "../ilogger.h"\r
6 \r
7 #include <vector>\r
8 \r
9 class TrustListXML:public IFMSXMLDocument,public ILogger\r
10 {\r
11 private:\r
12         struct trust\r
13         {\r
14                 trust(const std::string &identity, const long messagetrust, const long trustlisttrust):m_identity(identity),m_messagetrust(messagetrust),m_trustlisttrust(trustlisttrust) {}\r
15                 std::string m_identity;\r
16                 long m_messagetrust;\r
17                 long m_trustlisttrust;\r
18         };\r
19 public:\r
20         TrustListXML();\r
21 \r
22         std::string GetXML();\r
23         \r
24         const bool ParseXML(const std::string &xml);\r
25 \r
26         void ClearTrust()                       { m_trust.clear(); }\r
27 \r
28         void AddTrust(const std::string &identity, const long messagetrust, const long trustlisttrust);\r
29 \r
30         const std::vector<trust>::size_type TrustCount()                { return m_trust.size(); }\r
31         std::string GetIdentity(const long index);\r
32         long GetMessageTrust(const long index);\r
33         long GetTrustListTrust(const long index);\r
34 \r
35 private:\r
36         void Initialize();\r
37 \r
38         std::vector<trust> m_trust;\r
39         \r
40 };\r
41 \r
42 #endif  // _trustlistxml_\r