diff options
author | eportnov <eportnov@ibs.ru> | 2022-09-12 16:46:44 +0300 |
---|---|---|
committer | eportnov <eportnov@ibs.ru> | 2022-09-12 16:46:44 +0300 |
commit | cdb7ae4c729b6a6c51b57eeefd21574952a4b767 (patch) | |
tree | c465900180840832e241ca5419dd90b429459588 /src/message_builder | |
parent | 9fa4addff6f90a8b5697a594e034f5517d64dd25 (diff) | |
download | obmc-sila-smtp-cdb7ae4c729b6a6c51b57eeefd21574952a4b767.tar.xz |
refactoringfeature/refactor
Diffstat (limited to 'src/message_builder')
-rw-r--r-- | src/message_builder/cc.cpp | 31 | ||||
-rw-r--r-- | src/message_builder/cc.hpp | 21 | ||||
-rw-r--r-- | src/message_builder/date.cpp | 16 | ||||
-rw-r--r-- | src/message_builder/date.hpp | 17 | ||||
-rw-r--r-- | src/message_builder/from.cpp | 22 | ||||
-rw-r--r-- | src/message_builder/from.hpp | 19 | ||||
-rw-r--r-- | src/message_builder/mail_to.cpp | 23 | ||||
-rw-r--r-- | src/message_builder/mail_to.hpp | 21 | ||||
-rw-r--r-- | src/message_builder/subject.cpp | 21 | ||||
-rw-r--r-- | src/message_builder/subject.hpp | 19 | ||||
-rw-r--r-- | src/message_builder/text.cpp | 24 | ||||
-rw-r--r-- | src/message_builder/text.hpp | 19 | ||||
-rw-r--r-- | src/message_builder/types/idecorator.hpp | 82 | ||||
-rw-r--r-- | src/message_builder/types/imessage_build.hpp | 14 |
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; - }; -} |