From dcbaf61e4968734d9b3bc41f704ea04d54746cea Mon Sep 17 00:00:00 2001 From: eportnov Date: Tue, 13 Sep 2022 11:13:33 +0300 Subject: add file reading --- src/managment/builder/mail.cpp | 14 ++++++++++++ src/managment/builder/mail.hpp | 16 ++++++++++++++ src/managment/builder/settings.cpp | 18 ++++++++++++++++ src/managment/builder/settings.hpp | 19 ++++++++++++++++ src/managment/mail.cpp | 25 ++++++++++++++++++++++ src/managment/mail.hpp | 23 ++++++++++++++++++++ src/managment/settings.cpp | 44 ++++++++++++++++++++++++++++++++++++++ src/managment/settings.hpp | 27 +++++++++++++++++++++++ 8 files changed, 186 insertions(+) create mode 100644 src/managment/builder/mail.cpp create mode 100644 src/managment/builder/mail.hpp create mode 100644 src/managment/builder/settings.cpp create mode 100644 src/managment/builder/settings.hpp create mode 100644 src/managment/mail.cpp create mode 100644 src/managment/mail.hpp create mode 100644 src/managment/settings.cpp create mode 100644 src/managment/settings.hpp (limited to 'src/managment') diff --git a/src/managment/builder/mail.cpp b/src/managment/builder/mail.cpp new file mode 100644 index 0000000..d8413d1 --- /dev/null +++ b/src/managment/builder/mail.cpp @@ -0,0 +1,14 @@ +#include "mail.hpp" +#include "file/mail.hpp" + +namespace smtp::manage::builder +{ + smtp::manage::Mail Mail::Build() const + { + static const std::string PATH = {"/home/eportnov/work/openbmc/build/cp2-5422/workspace/sources/smtp/mails.txt"}; + + file::Mail file_manipulator{PATH}; + return smtp::manage::Mail{ file_manipulator }; + } + +} diff --git a/src/managment/builder/mail.hpp b/src/managment/builder/mail.hpp new file mode 100644 index 0000000..ae53202 --- /dev/null +++ b/src/managment/builder/mail.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "managment/mail.hpp" + +namespace smtp::manage::builder +{ + class Mail + { + public: + Mail() = default; + ~Mail() = default; + + smtp::manage::Mail Build() const; + }; + +} diff --git a/src/managment/builder/settings.cpp b/src/managment/builder/settings.cpp new file mode 100644 index 0000000..fa9fcea --- /dev/null +++ b/src/managment/builder/settings.cpp @@ -0,0 +1,18 @@ +#include "settings.hpp" + +namespace smtp::manage::builder +{ + + smtp::manage::Settings Settings::Build() const + { + auto file_manipulator = GetFileSettings(); + return smtp::manage::Settings{ file_manipulator }; + } + + file::Settings Settings::GetFileSettings() const + { + static const std::string PATH = {"/home/eportnov/work/openbmc/build/cp2-5422/workspace/sources/smtp/settings.txt"}; + return file::Settings{PATH, {},{}}; + } + +} diff --git a/src/managment/builder/settings.hpp b/src/managment/builder/settings.hpp new file mode 100644 index 0000000..1089b06 --- /dev/null +++ b/src/managment/builder/settings.hpp @@ -0,0 +1,19 @@ +#pragma once + +#include "managment/settings.hpp" +#include "file/settings.hpp" + +namespace smtp::manage::builder +{ + class Settings + { + public: + Settings() = default; + ~Settings() = default; + + smtp::manage::Settings Build() const; + private: + file::Settings GetFileSettings() const; + }; + +} diff --git a/src/managment/mail.cpp b/src/managment/mail.cpp new file mode 100644 index 0000000..e43a68c --- /dev/null +++ b/src/managment/mail.cpp @@ -0,0 +1,25 @@ +#include "mail.hpp" + +namespace smtp::manage +{ + Mail::Mail( file::Mail const& file_reader) + { + mMails = file_reader.Read(); + } + + std::list Mail::GetMailToSend() const + { + return mMails; + } + + bool Mail::AddMailToSend() + { + + } + + bool Mail::DeleteMailToSend( std::string const& mail_to_send) + { + + } + +} diff --git a/src/managment/mail.hpp b/src/managment/mail.hpp new file mode 100644 index 0000000..5e14831 --- /dev/null +++ b/src/managment/mail.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include +#include + +#include "file/mail.hpp" + +namespace smtp::manage +{ + class Mail + { + public: + explicit Mail( file::Mail const& file_reader); + ~Mail() = default; + + std::list GetMailToSend() const; + bool AddMailToSend(); + bool DeleteMailToSend( std::string const& mail_to_send ); + private: + std::list mMails; + }; + +} diff --git a/src/managment/settings.cpp b/src/managment/settings.cpp new file mode 100644 index 0000000..72396f8 --- /dev/null +++ b/src/managment/settings.cpp @@ -0,0 +1,44 @@ +#include "settings.hpp" + +namespace smtp::manage +{ + Settings::Settings( file::Settings const& file_reader ) + { + mSettingsFields = file_reader.Read(); + } + + bool Settings::SetSettings( file::SettingsFields const& settings_fields ) + { + + } + + bool Settings::IsNeedAuth() const noexcept + { + return mSettingsFields.is_need_auth; + } + + bool Settings::IsNeedSsl() const noexcept + { + return mSettingsFields.is_need_ssl; + } + + std::string Settings::GetUserName() const + { + return mSettingsFields.username; + } + + std::string Settings::GetPassword() const + { + return mSettingsFields.password; + } + + std::string Settings::GetHost() const + { + return mSettingsFields.host; + } + + std::string Settings::GetPort() const + { + return mSettingsFields.port; + } +} diff --git a/src/managment/settings.hpp b/src/managment/settings.hpp new file mode 100644 index 0000000..ff40dc6 --- /dev/null +++ b/src/managment/settings.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include + +#include "file/settings.hpp" + +namespace smtp::manage +{ + class Settings + { + public: + explicit Settings( file::Settings const& file_reader ); + ~Settings() = default; + + bool SetSettings( file::SettingsFields const& settings_fields ); + + bool IsNeedAuth() const noexcept; + bool IsNeedSsl() const noexcept; + + std::string GetUserName() const; + std::string GetPassword() const; + std::string GetHost() const; + std::string GetPort() const; + private: + file::SettingsFields mSettingsFields; + }; +} -- cgit v1.2.3