version 0.0.2
[fms.git] / include / freenet / trustlistxml.h
diff --git a/include/freenet/trustlistxml.h b/include/freenet/trustlistxml.h
new file mode 100644 (file)
index 0000000..bd66c02
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef _trustlistxml_\r
+#define _trustlistxml_\r
+\r
+#include "../ifmsxmldocument.h"\r
+#include "../ilogger.h"\r
+\r
+#include <vector>\r
+\r
+class TrustListXML:public IFMSXMLDocument,public ILogger\r
+{\r
+public:\r
+       TrustListXML();\r
+\r
+       std::string GetXML();\r
+       \r
+       const bool ParseXML(const std::string &xml);\r
+\r
+       void ClearTrust()                       { m_trust.clear(); }\r
+\r
+       void AddTrust(const std::string &identity, const long messagetrust, const long trustlisttrust);\r
+\r
+       const long TrustCount()         { return m_trust.size(); }\r
+       std::string GetIdentity(const long index);\r
+       long GetMessageTrust(const long index);\r
+       long GetTrustListTrust(const long index);\r
+\r
+private:\r
+       struct trust\r
+       {\r
+               trust(const std::string &identity, const long messagetrust, const long trustlisttrust):m_identity(identity),m_messagetrust(messagetrust),m_trustlisttrust(trustlisttrust) {}\r
+               std::string m_identity;\r
+               long m_messagetrust;\r
+               long m_trustlisttrust;\r
+       };\r
+\r
+       void Initialize();\r
+\r
+       std::vector<trust> m_trust;\r
+       \r
+};\r
+\r
+#endif // _trustlistxml_\r