1 #ifndef _frost_message_xml_
\r
2 #define _frost_message_xml_
\r
4 #include "messagexml.h"
\r
6 class FrostMessageXML:public MessageXML
\r
10 std::string GetXML();
\r
11 const bool ParseXML(const std::string &xml);
\r
15 struct frostfileattachment
\r
17 frostfileattachment(const std::string &key, const int size, const std::string &name):m_key(key),m_size(size),m_name(name) {}
\r
23 struct frostboardattachment
\r
25 frostboardattachment(const std::string &name, const std::string &description, const std::string &publickey, const std::string &privatekey):m_name(name),m_description(description),m_publickey(publickey),m_privatekey(privatekey) {}
\r
27 std::string m_description;
\r
28 std::string m_publickey;
\r
29 std::string m_privatekey;
\r
32 const long GetFrostIDLinePos() const { return m_frostidlinepos; }
\r
33 const long GetFrostIDLineLen() const { return m_frostidlinelen; }
\r
34 const std::string GetFrostDate() const { return m_frostdate; }
\r
35 const std::string GetFrostTime() const { return m_frosttime; }
\r
36 const std::string GetFrostAuthor() const { return m_frostauthor; }
\r
37 const std::string GetFrostSubject() const { return m_frostsubject; }
\r
38 const std::string GetFrostMessageID() const { return m_frostmessageid; }
\r
39 const std::string GetFrostBoard() const { return m_frostboard; }
\r
40 const std::string GetFrostPublicKey() const { return m_frostpublickey; }
\r
41 const std::string GetFrostSignature() const { return m_frostsignature; }
\r
42 const std::string GetFrostSignatureV2() const { return m_frostsignaturev2; }
\r
43 const std::string GetFrostInReplyTo() const { return m_frostinreplyto; }
\r
44 const std::vector<frostfileattachment> GetFrostFileAttachments() const { return m_frostfileattachments; }
\r
45 const std::vector<frostboardattachment> GetFrostBoardAttachments() const { return m_frostboardattachments; }
\r
47 const std::string GetSignableContentV2() const;
\r
50 long m_frostidlinepos;
\r
51 long m_frostidlinelen;
\r
52 std::string m_frostdate;
\r
53 std::string m_frosttime;
\r
54 std::string m_frostauthor;
\r
55 std::string m_frostsubject;
\r
56 std::string m_frostmessageid;
\r
57 std::string m_frostboard;
\r
58 std::string m_frostpublickey;
\r
59 std::string m_frostsignature;
\r
60 std::string m_frostsignaturev2;
\r
61 std::string m_frostinreplyto;
\r
62 std::vector<frostfileattachment> m_frostfileattachments;
\r
63 std::vector<frostboardattachment> m_frostboardattachments;
\r
66 const std::string FrostMakeFileName(const std::string &input) const;
\r
70 #endif // _frost_message_xml_
\r