Processors.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <mutex>
5#include <optional>
6#include <string>
7
9
13#include "extractor/Extractor.h"
14#include "filter/Filter.h"
15
17{
18 /// all necessary classes to filter and convert an entry of the ltm to some other format(s)
20 {
21 public:
22 Processors() = default;
23
24 void configure(const nlohmann::json& config);
25
26 std::map<std::string, processor::SnapshotFilter::FilterStatistics>
28
29 /**
30 * @brief resetFilterStatisticsForNewEpisode runs resetFilterStatisticsForNewEpisode on all
31 * snapshot filters
32 */
34
35 public:
36 // Unique Memory Filters
37 std::vector<std::unique_ptr<processor::MemoryFilter>> memFilters;
38
39 // Unique Snapshot filters
40 std::vector<std::unique_ptr<processor::SnapshotFilter>> snapFilters;
41
42 // Special Extractors
43 std::vector<std::unique_ptr<processor::Extractor>> extractors;
44
45 // Special Converters
46 std::vector<std::unique_ptr<processor::DataConverter>> converters;
47
48 // Default converters
51 };
52} // namespace armarx::armem::server::ltm
std::vector< std::unique_ptr< processor::SnapshotFilter > > snapFilters
Definition Processors.h:40
std::vector< std::unique_ptr< processor::Extractor > > extractors
Definition Processors.h:43
std::vector< std::unique_ptr< processor::MemoryFilter > > memFilters
Definition Processors.h:37
void configure(const nlohmann::json &config)
std::vector< std::unique_ptr< processor::DataConverter > > converters
Definition Processors.h:46
processor::converter::data::object::JsonConverter defaultObjectConverter
Definition Processors.h:49
std::map< std::string, processor::SnapshotFilter::FilterStatistics > getSnapshotFilterStatistics()
processor::converter::type::object::JsonConverter defaultTypeConverter
Definition Processors.h:50
void resetFilterStatisticsForNewEpisode()
resetFilterStatisticsForNewEpisode runs resetFilterStatisticsForNewEpisode on all snapshot filters