summaryrefslogtreecommitdiff
path: root/src/message
diff options
context:
space:
mode:
Diffstat (limited to 'src/message')
-rw-r--r--src/message/builder/cc.cpp4
-rw-r--r--src/message/builder/cc.hpp7
-rw-r--r--src/message/builder/mail_to.cpp11
-rw-r--r--src/message/builder/mail_to.hpp8
-rw-r--r--src/message/sender.cpp2
5 files changed, 18 insertions, 14 deletions
diff --git a/src/message/builder/cc.cpp b/src/message/builder/cc.cpp
index 9863abf..3cf3276 100644
--- a/src/message/builder/cc.cpp
+++ b/src/message/builder/cc.cpp
@@ -2,7 +2,7 @@
namespace smtp::message::builder
{
- Cc::Cc( std::list<std::string> const& mail_to )
+ Cc::Cc( manage::MailsSet const& mail_to )
: mMailTo( mail_to )
{
@@ -34,6 +34,6 @@ namespace smtp::message::builder
bool Cc::IsFirstElement( std::string const& cc ) const
{
- return cc == mMailTo.front();
+ return cc == *mMailTo.begin();
}
}
diff --git a/src/message/builder/cc.hpp b/src/message/builder/cc.hpp
index a06b374..dbca4b7 100644
--- a/src/message/builder/cc.hpp
+++ b/src/message/builder/cc.hpp
@@ -1,22 +1,21 @@
#pragma once
-#include <list>
-
#include "types/idecorator.hpp"
#include "types/imessage_builder.hpp"
+#include "managment/general.hpp"
namespace smtp::message::builder
{
class Cc : public types::IDecorator<types::IMessageBuilder>
{
public:
- explicit Cc( std::list<std::string> const& mail_to );
+ explicit Cc( manage::MailsSet const& mail_to );
~Cc() override = default;
std::string Get() const override;
private:
bool IsFirstElement( std::string const& cc ) const;
- std::list<std::string> const& mMailTo;
+ manage::MailsSet const& mMailTo;
};
}
diff --git a/src/message/builder/mail_to.cpp b/src/message/builder/mail_to.cpp
index dab1b7f..3ef7e0e 100644
--- a/src/message/builder/mail_to.cpp
+++ b/src/message/builder/mail_to.cpp
@@ -2,8 +2,8 @@
namespace smtp::message::builder
{
- MailTo::MailTo( std::string const& mail_to)
- : mMailTo( mail_to )
+ MailTo::MailTo( manage::MailsSet const& mails )
+ : mMailTo( mails )
{
}
@@ -16,8 +16,13 @@ namespace smtp::message::builder
result = mBase->Get();
}
- result += "To: " + mMailTo +"\r\n";
+ result += "To: " + GetFirstMail() +"\r\n";
return result;
}
+
+ std::string MailTo::GetFirstMail() const
+ {
+ return *mMailTo.begin();
+ }
}
diff --git a/src/message/builder/mail_to.hpp b/src/message/builder/mail_to.hpp
index 5d60d97..1c21684 100644
--- a/src/message/builder/mail_to.hpp
+++ b/src/message/builder/mail_to.hpp
@@ -1,21 +1,21 @@
#pragma once
-#include <list>
-
#include "types/idecorator.hpp"
#include "types/imessage_builder.hpp"
+#include "managment/general.hpp"
namespace smtp::message::builder
{
class MailTo : public types::IDecorator<types::IMessageBuilder>
{
public:
- explicit MailTo( std::string const& mail_to );
+ explicit MailTo( manage::MailsSet const& mails );
~MailTo() override = default;
std::string Get() const override;
private:
- std::string const& mMailTo;
+ std::string GetFirstMail() const;
+ manage::MailsSet const& mMailTo;
};
}
diff --git a/src/message/sender.cpp b/src/message/sender.cpp
index 20b8e9c..f8950f4 100644
--- a/src/message/sender.cpp
+++ b/src/message/sender.cpp
@@ -86,7 +86,7 @@ namespace smtp::message
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.front() ) )
+ .Apply( std::make_shared<builder::MailTo>( mail_to ) )
.Apply( std::make_shared<builder::Date>() );
mText = text_decorator->Get();
std::cout << mText << std::endl;