summaryrefslogtreecommitdiff
path: root/src/message/sender.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/message/sender.hpp')
-rw-r--r--src/message/sender.hpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/message/sender.hpp b/src/message/sender.hpp
index 3118319..2419e4c 100644
--- a/src/message/sender.hpp
+++ b/src/message/sender.hpp
@@ -7,6 +7,8 @@
#include "management/settings.hpp"
#include "management/mail.hpp"
+#include "thread_safe_queue.hpp"
+
namespace smtp::message
{
struct WriteThis
@@ -17,10 +19,10 @@ namespace smtp::message
class Sender
{
public:
- Sender( manage::Settings& settings_storage, manage::Mail const& mail_to );
+ Sender( manage::Settings const& settings_storage, manage::Mail const& mail_to, ThreadSafeQueue& message_queue );
~Sender() = default;
- bool Send( std::string const& mail_from, std::string const& subject, std::string const& text );
+ void Send();
private:
bool InitCurl( CURL* curl, WriteThis const& upload_ctx, std::string const& mail_from );
void UpdateMailText( std::string const& mail_from, std::string const& subject, std::string const& textt ) const;
@@ -28,8 +30,9 @@ namespace smtp::message
std::string GetHostPortData() const;
static size_t ReadCallBack( void *ptr, size_t size, size_t nmemb, void *userp );
- manage::Settings& mSettingsStorage;
+ manage::Settings const& mSettingsStorage;
manage::Mail const& mMailTo;
+ ThreadSafeQueue& mMessageQueue;
};
}