version 0.2.4
[fms.git] / include / http / identityexportxml.h
1 #ifndef _identityexportxml_\r
2 #define _identityexportxml_\r
3 \r
4 #include "../ifmsxmldocument.h"\r
5 \r
6 class IdentityExportXML:public IFMSXMLDocument\r
7 {\r
8 public:\r
9         IdentityExportXML();\r
10 \r
11         std::string GetXML();\r
12         const bool ParseXML(const std::string &xml);\r
13 \r
14         void AddIdentity(const std::string &name, const std::string &publickey, const std::string &privatekey, const bool singleuse=false, const bool publishtrustlist=false, const bool publishboardlist=false, const bool publishfreesite=false);\r
15 \r
16         const long GetCount()           { return m_identities.size(); }\r
17 \r
18         const std::string GetName(const long index);\r
19         const std::string GetPublicKey(const long index);\r
20         const std::string GetPrivateKey(const long index);\r
21         const bool GetSingleUse(const long index);\r
22         const bool GetPublishTrustList(const long index);\r
23         const bool GetPublishBoardList(const long index);\r
24         const bool GetPublishFreesite(const long index);\r
25 \r
26 private:\r
27         void Initialize();\r
28 \r
29         struct identity\r
30         {\r
31                 identity(const std::string &name, const std::string &publickey, const std::string &privatekey, const bool singleuse, const bool publishtrustlist, const bool publishboardlist, const bool publishfreesite):m_name(name),m_publickey(publickey),m_privatekey(privatekey),m_singleuse(singleuse),m_publishtrustlist(publishtrustlist),m_publishboardlist(publishboardlist),m_publishfreesite(publishfreesite)     {}\r
32                 std::string m_name;\r
33                 std::string m_publickey;\r
34                 std::string m_privatekey;\r
35                 bool m_singleuse;\r
36                 bool m_publishtrustlist;\r
37                 bool m_publishboardlist;\r
38                 bool m_publishfreesite;\r
39         };\r
40 \r
41         std::vector<identity> m_identities;\r
42 \r
43 };\r
44 \r
45 #endif  // _identityexportxml_\r