diff options
Diffstat (limited to 'src/message/sender.cpp')
-rw-r--r-- | src/message/sender.cpp | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/message/sender.cpp b/src/message/sender.cpp index a0ef6ee..8b5371a 100644 --- a/src/message/sender.cpp +++ b/src/message/sender.cpp @@ -1,4 +1,5 @@ #include <cstring> +#include <iostream> #include "sender.hpp" #include "builder/date.hpp" @@ -11,35 +12,36 @@ namespace smtp::message { - static std::string mText; + static std::string mText; - // - // Constructors/Destructors - // + // + // Constructors/Destructors + // Sender::Sender( manage::Settings const& settings_storage, manage::Mail& mail_to, thread::Queue& message_queue ) - : mSettingsStorage( settings_storage ) - , mMailTo( mail_to ) + : mSettingsStorage( settings_storage ) + , mMailTo( mail_to ) , mMessageQueue( message_queue ) - { + { - } + } - // - //Public methods - // + // + //Public methods + // void Sender::Send() - { - static const std::string METHOD_NAME = "Send message"; + { + static const std::string METHOD_NAME = "Send message"; - CURLcode result = CURLE_OK; - curl_slist* recipients = nullptr; - WriteThis upload_ctx{}; - auto curl = curl_easy_init(); - //TODO сделать инициализацию через регистратор инициализаторов + CURLcode result = CURLE_OK; + curl_slist* recipients = nullptr; + WriteThis upload_ctx{}; + auto curl = curl_easy_init(); + //TODO сделать инициализацию через регистратор инициализаторов while(1) { + mMailTo.WaitWhileEmptyMails(); auto message = mMessageQueue.WaitAndPop(); if( !InitCurl( curl, upload_ctx, mSettingsStorage.GetUserName() )) { @@ -47,7 +49,6 @@ namespace smtp::message } //TODO раздать mail_to другим методам - mMailTo.WaitWhileEmptyMails(); auto mail_to = mMailTo.GetMailToSend(); FillRecipients( curl, recipients ); @@ -101,13 +102,13 @@ namespace smtp::message void Sender::UpdateMailText( std::string const& mail_from, std::string const& subject, std::string const& text ) const { - auto mail_to = mMailTo.GetMailToSend(); - auto text_decorator = std::make_shared < builder::Text >( text ); - text_decorator->Apply( std::make_shared < builder::Subject >( subject )) - .Apply( std::make_shared < builder::Cc >( mail_to )) - .Apply( std::make_shared < builder::From >( mail_from )) - .Apply( std::make_shared < builder::MailTo >( mail_to )) - .Apply( std::make_shared < builder::Date >()); + auto mail_to = mMailTo.GetMailToSend(); + auto text_decorator = std::make_shared < builder::Text >( text ); + text_decorator->Apply( std::make_shared < builder::Date >()) + .Apply( std::make_shared < builder::Subject >( subject )) + .Apply( std::make_shared < builder::Cc >( mail_to )) + .Apply( std::make_shared < builder::From >( mail_from )) + .Apply( std::make_shared < builder::MailTo >( mail_to )); mText = text_decorator->Get(); } |