lintel 0.2.0
Loading...
Searching...
No Matches
ConfigSerializationStrategy.h
Go to the documentation of this file.
1#ifndef LOGGING_CONFIGSERIALIZATIONSTRATEGY_H
2#define LOGGING_CONFIGSERIALIZATIONSTRATEGY_H
3
4#include <filesystem>
5#include <memory>
6#include <vector>
7
9
10namespace lintel {
15{
16public:
18
19 virtual ~ConfigSerializationStrategy() = default;
20
26 virtual std::string serialize(std::vector<std::shared_ptr<PropertyBase>> properties) = 0;
27
33 virtual std::vector<std::shared_ptr<PropertyBase>> deserialize(const std::string &fileName,
34 const std::string &content) = 0;
35
37 virtual std::vector<std::shared_ptr<PropertyBase>> deserialize(const std::filesystem::path &path) = 0;
38};
39
40}// namespace lintel
41#endif// LOGGING_CONFIGSERIALIZATIONSTRATEGY_H
Definition ConfigSerializationStrategy.h:15
virtual std::vector< std::shared_ptr< PropertyBase > > deserialize(const std::string &fileName, const std::string &content)=0
virtual ~ConfigSerializationStrategy()=default
virtual std::vector< std::shared_ptr< PropertyBase > > deserialize(const std::filesystem::path &path)=0
virtual std::string serialize(std::vector< std::shared_ptr< PropertyBase > > properties)=0
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9