ac16d1fd87315ddf99962b8ba4299506210d4f3d
[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 // trust of -1 will mean NULL trust\r
10 class TrustListXML:public IFMSXMLDocument,public ILogger\r
11 {\r
12 private:\r
13         struct trust\r
14         {\r
15                 trust(const std::string &identity, const long messagetrust, const long trustlisttrust):m_identity(identity),m_messagetrust(messagetrust),m_trustlisttrust(trustlisttrust) {}\r
16                 std::string m_identity;\r
17                 long m_messagetrust;\r
18                 long m_trustlisttrust;\r
19         };\r
20 public:\r
21         TrustListXML();\r
22 \r
23         std::string GetXML();\r
24         \r
25         const bool ParseXML(const std::string &xml);\r
26 \r
27         void ClearTrust()                       { m_trust.clear(); }\r
28 \r
29         void AddTrust(const std::string &identity, const long messagetrust, const long trustlisttrust);\r
30 \r
31         const std::vector<trust>::size_type TrustCount()                { return m_trust.size(); }\r
32         std::string GetIdentity(const long index);\r
33         long GetMessageTrust(const long index);\r
34         long GetTrustListTrust(const long index);\r
35 \r
36 private:\r
37         void Initialize();\r
38 \r
39         std::vector<trust> m_trust;\r
40         \r
41 };\r
42 \r
43 #endif  // _trustlistxml_\r