X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=include%2Fmessage.h;h=625aa229637e8b49aa8e2dc4176b1570098524e4;hb=63376b2a82c3f6cdf2df56b1f134bd7df0aaab3a;hp=1fe121613e5716b964bdf571c7dba507db4a02a6;hpb=6b896a9e1dc143bba86795be1e9336549db9b85f;p=fms.git diff --git a/include/message.h b/include/message.h index 1fe1216..625aa22 100644 --- a/include/message.h +++ b/include/message.h @@ -22,6 +22,8 @@ public: std::vector GetBoards() const { return m_boards; } std::map GetInReplyTo() const { return m_inreplyto; } + void SetFromName(const std::string &fromname) { m_fromname=fromname; } + const std::string GetNNTPHeaders() const; const std::string GetNNTPArticleID() const; const std::string GetNNTPBody() const; @@ -44,12 +46,28 @@ public: const bool ParseNNTPMessage(const std::string &nntpmessage); - void StartFreenetInsert(); + const bool PostedToAdministrationBoard() { return CheckForAdministrationBoard(m_boards); } + + const bool StartFreenetInsert(); + void HandleAdministrationMessage(); private: void Initialize(); + // checks vector of boards for any special administration boards - if it finds one true is returned, otherwise false + const bool CheckForAdministrationBoard(const std::vector &boards); + void HandleChangeTrust(); + void StripAdministrationBoards(); // removes administration boards from boards vector + const int FindLocalIdentityID(const std::string &name); + + struct fileattachment + { + fileattachment(const std::string &filename, const std::vector &data):m_filename(filename),m_data(data) {} + std::string m_filename; + std::vector m_data; + }; long m_messageid; + bool m_addnewpostfromidentities; std::string m_messageuuid; std::string m_subject; std::string m_body; @@ -58,6 +76,10 @@ private: std::string m_fromname; std::vector m_boards; std::map m_inreplyto; + std::vector m_fileattachments; + long m_changemessagetrustonreply; + long m_minlocalmessagetrust; + long m_minlocaltrustlisttrust; };