summaryrefslogtreecommitdiff
path: root/src/managment/mail.cpp
diff options
context:
space:
mode:
authorclaiff <claiff@mail.ru>2022-09-21 15:50:34 +0300
committerclaiff <claiff@mail.ru>2022-09-21 15:50:34 +0300
commit641c95dcf8c6585caaa6e79d4bec9b53fd666369 (patch)
tree3c7e38f17738c181437f482d05c66dde94f7c28a /src/managment/mail.cpp
parent629929ebbe386277c25740bc0f4971aac38444d0 (diff)
parent6cfc7076808138be2ad5a2b05edd635b5948bf31 (diff)
downloadobmc-sila-smtp-641c95dcf8c6585caaa6e79d4bec9b53fd666369.tar.xz
Merge branch 'feature/checking'
Diffstat (limited to 'src/managment/mail.cpp')
-rw-r--r--src/managment/mail.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/managment/mail.cpp b/src/managment/mail.cpp
deleted file mode 100644
index ccde362..0000000
--- a/src/managment/mail.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <algorithm>
-
-#include "mail.hpp"
-
-namespace smtp::manage
-{
- Mail::Mail( file::Mail const& file_reader )
- : mFileReader( file_reader )
- {
- mMails = mFileReader.Read();
- }
-
- MailsSet Mail::GetMailToSend() const
- {
- return mMails;
- }
-
- bool Mail::AddMailsToSend( MailsSet const& mails_to_add )
- {
- auto merged_mails = GetMergedMails( mails_to_add );
-
- auto result = mFileReader.Write( merged_mails );
- if( result )
- {
- mMails = merged_mails;
- }
- return result;
- }
-
- bool Mail::DeleteMailToSend( MailsSet const& mail_to_send )
- {
- auto mails_to_delete = GetItersectionMails( mail_to_send );
- auto result_set_after_delete = GetMailsAfterDelete( mails_to_delete );
- auto result_of_delete = mFileReader.Write( result_set_after_delete );
- if(result_of_delete)
- {
- mMails = result_set_after_delete;
- }
- return result_of_delete;
- }
-
- MailsSet Mail::GetMergedMails( MailsSet const& mails_to_add )
- {
- auto result = mails_to_add;
- result.merge( mMails );
- return result;
- }
-
- MailsSet Mail::GetItersectionMails( MailsSet const& mail_to_send )
- {
- MailsSet result;
-
- auto sorted_mail_to_send = mail_to_send;
- sorted_mail_to_send.sort();
- mMails.sort();
- std::set_intersection( mMails.cbegin(), mMails.cend(),
- sorted_mail_to_send.cbegin(), sorted_mail_to_send.cend(),
- std::back_inserter( result ));
- return result;
- }
-
- MailsSet Mail::GetMailsAfterDelete( MailsSet const& result_set_after_delete)
- {
- auto result = mMails;
- for(const auto& element_to_delete : result_set_after_delete)
- {
- result.remove( element_to_delete );
- }
- return result;
- }
-
-}