\r
#include "idatabase.h"\r
#include "ilogger.h"\r
-#include "datetime.h"\r
+\r
+#include <Poco/DateTime.h>\r
\r
class Message:public IDatabase,public ILogger\r
{\r
public:\r
- Message();\r
- Message(const long messageid);\r
- Message(const std::string &messageuuid);\r
+ Message(SQLite3DB::DB *db);\r
+ Message(SQLite3DB::DB *db, const long messageid);\r
+ Message(SQLite3DB::DB *db, const std::string &messageuuid);\r
\r
const long GetMessageID() const { return m_messageid; }\r
const std::string GetMessageUUID() const { return m_messageuuid; }\r
const std::string GetSubject() const { return m_subject; }\r
const std::string GetBody() const { return m_body; }\r
const std::string GetReplyBoardName() { return m_replyboardname; }\r
- const DateTime GetDateTime() const { return m_datetime; }\r
+ const Poco::DateTime GetDateTime() const { return m_datetime; }\r
const std::string GetFromName() const { return m_fromname; }\r
std::vector<std::string> GetBoards() const { return m_boards; }\r
std::map<long,std::string> GetInReplyTo() const { return m_inreplyto; }\r
\r
+ void SetFromName(const std::string &fromname) { m_fromname=fromname; }\r
+\r
const std::string GetNNTPHeaders() const;\r
const std::string GetNNTPArticleID() const;\r
const std::string GetNNTPBody() const;\r
const bool Load(const std::string &messageuuid);\r
\r
const bool ParseNNTPMessage(const std::string &nntpmessage);\r
+ const bool Create(const long localidentityid, const long boardid, const std::string &subject, const std::string &body, const std::string &references);\r
\r
const bool PostedToAdministrationBoard() { return CheckForAdministrationBoard(m_boards); }\r
\r
- void StartFreenetInsert();\r
+ const bool StartFreenetInsert();\r
void HandleAdministrationMessage();\r
\r
private:\r
void Initialize();\r
// checks vector of boards for any special administration boards - if it finds one true is returned, otherwise false\r
const bool CheckForAdministrationBoard(const std::vector<std::string> &boards);\r
+ void HandleChangeTrust();\r
+ void StripAdministrationBoards(); // removes administration boards from boards vector\r
+ const int FindLocalIdentityID(const std::string &name);\r
+ const std::string SanitizeFromName(const std::string &fromname) const;\r
+\r
+ struct fileattachment\r
+ {\r
+ fileattachment(const std::string &filename, const std::string &mimetype, const std::vector<unsigned char> &data):m_filename(filename),m_mimetype(mimetype),m_data(data) {}\r
+ std::string m_filename;\r
+ std::string m_mimetype;\r
+ std::vector<unsigned char> m_data;\r
+ };\r
\r
long m_messageid;\r
+ bool m_addnewpostfromidentities;\r
std::string m_messageuuid;\r
std::string m_subject;\r
std::string m_body;\r
std::string m_replyboardname;\r
- DateTime m_datetime;\r
+ Poco::DateTime m_datetime;\r
std::string m_fromname;\r
std::vector<std::string> m_boards;\r
std::map<long,std::string> m_inreplyto;\r
+ std::vector<fileattachment> m_fileattachments;\r
+ long m_changemessagetrustonreply;\r
+ long m_minlocalmessagetrust;\r
+ long m_minlocaltrustlisttrust;\r
\r
};\r
\r