summaryrefslogtreecommitdiff
path: root/src/message_builder
diff options
context:
space:
mode:
authoreportnov <eportnov@ibs.ru>2022-09-12 16:46:44 +0300
committereportnov <eportnov@ibs.ru>2022-09-12 16:46:44 +0300
commitcdb7ae4c729b6a6c51b57eeefd21574952a4b767 (patch)
treec465900180840832e241ca5419dd90b429459588 /src/message_builder
parent9fa4addff6f90a8b5697a594e034f5517d64dd25 (diff)
downloadobmc-sila-smtp-cdb7ae4c729b6a6c51b57eeefd21574952a4b767.tar.xz
refactoringfeature/refactor
Diffstat (limited to 'src/message_builder')
-rw-r--r--src/message_builder/cc.cpp31
-rw-r--r--src/message_builder/cc.hpp21
-rw-r--r--src/message_builder/date.cpp16
-rw-r--r--src/message_builder/date.hpp17
-rw-r--r--src/message_builder/from.cpp22
-rw-r--r--src/message_builder/from.hpp19
-rw-r--r--src/message_builder/mail_to.cpp23
-rw-r--r--src/message_builder/mail_to.hpp21
-rw-r--r--src/message_builder/subject.cpp21
-rw-r--r--src/message_builder/subject.hpp19
-rw-r--r--src/message_builder/text.cpp24
-rw-r--r--src/message_builder/text.hpp19
-rw-r--r--src/message_builder/types/idecorator.hpp82
-rw-r--r--src/message_builder/types/imessage_build.hpp14
14 files changed, 0 insertions, 349 deletions
diff --git a/src/message_builder/cc.cpp b/src/message_builder/cc.cpp
deleted file mode 100644
index c686ef2..0000000
--- a/src/message_builder/cc.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "cc.hpp"
-
-namespace smtp::message_builder
-{
- Cc::Cc( std::list<std::string> const& mail_to )
- : mMailTo( mail_to )
- {
-
- }
-
- std::string Cc::Get() const
- {
- std::string result;
- if( mBase )
- {
- result = mBase->Get();
- }
-
- if( mMailTo.empty() )
- {
- return result;
- }
-
- for(const auto& cc : mMailTo)
- {
- result += "Cc: " + cc + "\r\n";
- }
-
- return result;
- }
-}
diff --git a/src/message_builder/cc.hpp b/src/message_builder/cc.hpp
deleted file mode 100644
index 5062c37..0000000
--- a/src/message_builder/cc.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#pragma once
-
-#include <list>
-
-#include "types/idecorator.hpp"
-#include "types/imessage_build.hpp"
-
-namespace smtp::message_builder
-{
- class Cc : public types::IDecorator<types::IMessageBuilder>
- {
- public:
- explicit Cc( std::list<std::string> const& mail_to );
- ~Cc() override = default;
-
- std::string Get() const override;
- private:
- std::list<std::string> const& mMailTo;
- };
-}
-
diff --git a/src/message_builder/date.cpp b/src/message_builder/date.cpp
deleted file mode 100644
index 96ee2e1..0000000
--- a/src/message_builder/date.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "date.hpp"
-
-namespace smtp::message_builder
-{
- std::string Date::Get() const
- {
- std::string result;
-
- if( mBase )
- {
- result = mBase->Get();
- }
- result += "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n";
- return result;
- }
-}
diff --git a/src/message_builder/date.hpp b/src/message_builder/date.hpp
deleted file mode 100644
index 00fb6cb..0000000
--- a/src/message_builder/date.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-
-#include "types/idecorator.hpp"
-#include "types/imessage_build.hpp"
-
-namespace smtp::message_builder
-{
- class Date : public types::IDecorator<types::IMessageBuilder>
- {
- public:
- Date() = default;
- ~Date() override = default;
-
- std::string Get() const override;
- };
-}
-
diff --git a/src/message_builder/from.cpp b/src/message_builder/from.cpp
deleted file mode 100644
index 094e1a2..0000000
--- a/src/message_builder/from.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "from.hpp"
-
-namespace smtp::message_builder
-{
-
- From::From( std::string const& mail_to )
- :mMailTo( mail_to )
- {
-
- }
-
- std::string From::Get() const
- {
- std::string result;
- if( mBase )
- {
- result = mBase->Get();
- }
- result += "From: " + mMailTo + "\r\n";
- return result;
- }
-}
diff --git a/src/message_builder/from.hpp b/src/message_builder/from.hpp
deleted file mode 100644
index 4605469..0000000
--- a/src/message_builder/from.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "types/idecorator.hpp"
-#include "types/imessage_build.hpp"
-
-namespace smtp::message_builder
-{
- class From : public types::IDecorator<types::IMessageBuilder>
- {
- public:
- explicit From( std::string const& mail_to );
- ~From() override = default;
-
- std::string Get() const override;
- private:
- std::string const& mMailTo;
- };
-}
-
diff --git a/src/message_builder/mail_to.cpp b/src/message_builder/mail_to.cpp
deleted file mode 100644
index c73e2a7..0000000
--- a/src/message_builder/mail_to.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "mail_to.hpp"
-
-namespace smtp::message_builder
-{
- MailTo::MailTo( std::string const& mail_to)
- : mMailTo( mail_to )
- {
-
- }
-
- std::string MailTo::Get() const
- {
- std::string result;
- if( mBase )
- {
- result = mBase->Get();
- }
-
- result += "To: " + mMailTo +"\r\n";
-
- return result;
- }
-}
diff --git a/src/message_builder/mail_to.hpp b/src/message_builder/mail_to.hpp
deleted file mode 100644
index 0245fd6..0000000
--- a/src/message_builder/mail_to.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#pragma once
-
-#include <list>
-
-#include "types/idecorator.hpp"
-#include "types/imessage_build.hpp"
-
-namespace smtp::message_builder
-{
- class MailTo : public types::IDecorator<types::IMessageBuilder>
- {
- public:
- explicit MailTo( std::string const& mail_to );
- ~MailTo() override = default;
-
- std::string Get() const override;
- private:
- std::string const& mMailTo;
- };
-}
-
diff --git a/src/message_builder/subject.cpp b/src/message_builder/subject.cpp
deleted file mode 100644
index 84e7e43..0000000
--- a/src/message_builder/subject.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "subject.hpp"
-
-namespace smtp::message_builder
-{
- Subject::Subject( std::string const& subject )
- : mSubject(subject)
- {
-
- }
-
- std::string Subject::Get() const
- {
- std::string result;
- if( mBase )
- {
- result = mBase->Get();
- }
- result += "Subject: " + mSubject + "\r\n";
- return result;
- }
-}
diff --git a/src/message_builder/subject.hpp b/src/message_builder/subject.hpp
deleted file mode 100644
index bf8bfab..0000000
--- a/src/message_builder/subject.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "types/idecorator.hpp"
-#include "types/imessage_build.hpp"
-
-namespace smtp::message_builder
-{
- class Subject : public types::IDecorator<types::IMessageBuilder>
- {
- public:
- explicit Subject( std::string const& subject );
- ~Subject() override = default;
-
- std::string Get() const override;
- private:
- std::string const& mSubject;
- };
-}
-
diff --git a/src/message_builder/text.cpp b/src/message_builder/text.cpp
deleted file mode 100644
index e5e6bf0..0000000
--- a/src/message_builder/text.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "text.hpp"
-
-namespace smtp::message_builder
-{
- Text::Text( std::string const& text)
- : mText( text )
- {
-
- }
-
- std::string Text::Get() const
- {
- std::string result;
- if( mBase )
- {
- result = mBase->Get();
- }
-
- result += "\r\n";
- result += mText + "\r\n";
-
- return result;
- }
-}
diff --git a/src/message_builder/text.hpp b/src/message_builder/text.hpp
deleted file mode 100644
index 4df90e1..0000000
--- a/src/message_builder/text.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "types/idecorator.hpp"
-#include "types/imessage_build.hpp"
-
-namespace smtp::message_builder
-{
- class Text : public types::IDecorator<types::IMessageBuilder>
- {
- public:
- explicit Text( std::string const& text );
- ~Text() override = default;
-
- std::string Get() const override;
- private:
- std::string const& mText;
- };
-}
-
diff --git a/src/message_builder/types/idecorator.hpp b/src/message_builder/types/idecorator.hpp
deleted file mode 100644
index 3fabcd4..0000000
--- a/src/message_builder/types/idecorator.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#pragma once
-
-#include <memory>
-
-namespace smtp::message_builder::types
-{
-
-/**
- * @brief Базовый интерфейс описания декоратора
- * @details См. https://refactoring.guru/ru/design-patterns/decorator
- * @tparam T Тип декорируемого класса, T должен обладать возможностью наследования (в том числе виртуальный деструктор)
- */
- template < typename T, typename TPointerType = std::shared_ptr<T> > class IDecorator : public T
- {
- public:
- using PointerType = TPointerType;
- using Type = IDecorator<T, TPointerType>;
-
- ~IDecorator() override = default;
-
- /**
- * @brief Установить указатель на декорируемый класс
- * @details По возможности используйте метод Apply() как наиболее универсальный
- * @param base Указатель на декорируемый класс
- */
- void SetBase( PointerType const& base ) noexcept
- {
- mBase = base;
- }
-
- void SetBase( PointerType&& base ) noexcept
- {
- mBase = std::move( base );
- }
-
- /**
- * @brief Установить указатель на декорируемый класс (цепочка обязанностей)
- * @details См. https://refactoring.guru/ru/design-patterns/chain-of-responsibility/cpp/example
- * @details Цепь вызовов: декоратор1 -> декоратор2 -> базовый класс
- * @param base_or_decorator Указатель на декорируемый класс или целевой декоратор
- */
- Type& Apply( PointerType const& base_or_decorator ) noexcept
- {
- if( !base_or_decorator )
- {
- return *this;
- }
-
- SetBase( base_or_decorator );
- return GetApplyResult();
- }
-
- Type& Apply( PointerType&& base_or_decorator ) noexcept
- {
- if( !base_or_decorator )
- {
- return *this;
- }
-
- SetBase( std::move( base_or_decorator ) );
- return GetApplyResult();
- }
-
- private:
- Type& GetApplyResult() noexcept
- {
- auto as_decorator = dynamic_cast< Type * >( mBase.get() );
- if( as_decorator )
- {
- return *as_decorator;
- }
-
- return *this;
- }
-
- protected:
- PointerType mBase;
- };
-
- template < typename T, typename TDeleter = std::default_delete<T> > using IDecoratorUnique = IDecorator<T, std::unique_ptr<T, TDeleter> >;
-
-} // namespace sbis::devices::generic::types
diff --git a/src/message_builder/types/imessage_build.hpp b/src/message_builder/types/imessage_build.hpp
deleted file mode 100644
index 4c4f1b8..0000000
--- a/src/message_builder/types/imessage_build.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#pragma once
-
-#include <string>
-
-namespace smtp::message_builder::types
-{
- class IMessageBuilder
- {
- public:
- virtual ~IMessageBuilder() = default;
-
- virtual std::string Get() const = 0;
- };
-}