Converter.h
Go to the documentation of this file.
1#pragma once
2
3// STD/STL
4#include <memory>
5
6// Simox
7#include <SimoxUtility/json.h>
8
9// ArmarX
11
13
15{
17 {
18 public:
19 enum class ConverterType
20 {
23 };
24
26 {
27 std::vector<unsigned char> data;
28 std::string suffix;
29 };
30
32 const std::string& id,
33 const std::string& s,
35 std::unique_ptr<Extractor>&& ex) :
36 type(t), identifier(id), suffix(s), convertsType(c), extractor(std::move(ex))
37 {
38 }
39
40 virtual ~DataConverter() = default;
41
44 const armarx::aron::Path& p) = 0;
45
46 virtual void configure(const nlohmann::json& json);
47
48 public:
50 const std::string identifier;
51 const std::string suffix;
53
54 const std::unique_ptr<Extractor> extractor;
55 };
56} // namespace armarx::armem::server::ltm::processor
constexpr T c
virtual ConversionResult convert(const aron::data::VariantPtr &data)=0
virtual void configure(const nlohmann::json &json)
Definition Converter.cpp:6
const std::unique_ptr< Extractor > extractor
Definition Converter.h:54
DataConverter(const ConverterType t, const std::string &id, const std::string &s, const aron::type::Descriptor c, std::unique_ptr< Extractor > &&ex)
Definition Converter.h:31
virtual aron::data::VariantPtr convert(const ConversionResult &, const armarx::aron::Path &p)=0
The Path class.
Definition Path.h:36
std::shared_ptr< Variant > VariantPtr