summaryrefslogtreecommitdiff
path: root/src/file/settings/types/ifile_manipulator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/file/settings/types/ifile_manipulator.hpp')
-rw-r--r--src/file/settings/types/ifile_manipulator.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/file/settings/types/ifile_manipulator.hpp b/src/file/settings/types/ifile_manipulator.hpp
new file mode 100644
index 0000000..6de0bf3
--- /dev/null
+++ b/src/file/settings/types/ifile_manipulator.hpp
@@ -0,0 +1,18 @@
+ #pragma once
+
+#include <memory>
+
+#include "management/general.hpp"
+
+namespace smtp::file::settings::types
+{
+ class IFileManipulator
+ {
+ public:
+ virtual ~IFileManipulator() = default;
+
+ virtual manage::SettingsFileDataType Read() const = 0;
+ virtual bool Write( manage::SettingsFileDataType const& data ) const = 0;
+ };
+ using IFileManipulatorPtr = std::shared_ptr<IFileManipulator>;
+}