CAPIO-CL 1.2.0
CAPIO-CL: Cross Application Programmable I/O - Coordination Language
Loading...
Searching...
No Matches
serializer.h
1#ifndef CAPIO_CL_SERIALIZER_H
2#define CAPIO_CL_SERIALIZER_H
3
4#include "capiocl.hpp"
5
8
12class SerializerException final : public std::exception {
13 std::string message;
14
15 public:
20 explicit SerializerException(const std::string &msg);
25 [[nodiscard]] const char *what() const noexcept override { return message.c_str(); }
26};
27
30class Serializer final {
31
33 struct available_serializers {
42 static void serialize_v1(const engine::Engine &engine,
43 const std::filesystem::path &filename);
44
53 static void serialize_v1_1(const engine::Engine &engine,
54 const std::filesystem::path &filename);
55 };
56
57 public:
66 static void dump(const engine::Engine &engine, const std::filesystem::path &filename,
67 const std::string &version = CAPIO_CL_VERSION::V1);
68};
69} // namespace capiocl::serializer
70#endif // CAPIO_CL_SERIALIZER_H
Engine for managing CAPIO-CL configuration entries. The CapioCLEngine class stores and manages config...
Definition engine.h:26
SerializerException(const std::string &msg)
Construct a new CAPIO-CL Exception.
Definition Serializer.cpp:25
const char * what() const noexcept override
Definition serializer.h:25
Dump the current loaded CAPIO-CL configuration from class Engine to a CAPIO-CL configuration file.
Definition serializer.h:30
static void dump(const engine::Engine &engine, const std::filesystem::path &filename, const std::string &version=CAPIO_CL_VERSION::V1)
Dump the current configuration loaded into an instance of Engine to a CAPIO-CL configuration file.
Definition Serializer.cpp:10
Namespace containing the CAPIO-CL Engine.
Definition engine.h:10
Namespace containing the CAPIO-CL Serializer component.
Definition serializer.h:7
static constexpr char V1[]
Release 1.0 of CAPIO-CL.
Definition capiocl.hpp:70