6 #ifndef DAQ_DPM_MERGE_MERGE_HPP
7 #define DAQ_DPM_MERGE_MERGE_HPP
10 #include <log4cplus/logger.h>
31 virtual void PostAlert(std::string
const&
id, std::string
const& message) = 0;
54 virtual void SortKeywords(std::vector<fits::LiteralKeyword>& keywords) = 0;
83 std::string
const& format,
84 fits::KeywordVector::iterator begin,
85 fits::KeywordVector::iterator end) = 0;
97 std::vector<SourceTypes>
const& sources,
114 std::vector<SourceTypes>
const& sources,
Interface to a keyword selector.
virtual std::function< bool(fits::KeywordVariant const &)> MakePatternsFilter(std::vector< std::string > const &patterns)=0
Creates a keyword pattern selector.
virtual void SortKeywords(std::vector< fits::LiteralKeyword > &keywords)=0
Sort keywords.
Interface to reporter (implementations exist for JSON or human readable)
virtual void PostAlert(std::string const &id, std::string const &message)=0
Post event.
Represents the literal 80-character FITS keyword record.
KeywordFormatter & keyword_formatter
log4cplus::Logger const & logger
KeywordSorter & keyword_sorter
void Merge(Operations ops, Params const ¶ms, TargetSource &target, std::vector< SourceTypes > const &sources, bool dry_run)
Merge sources into the target target.
StatusReporter & status_reporter
void MergePrimaryHduKeywords(Operations ops, Params const ¶ms, TargetSource &target, std::vector< SourceTypes > const &sources, bool dry_run)
Base class of merge events.
std::variant< ValueKeyword, EsoKeyword, LiteralKeyword > KeywordVariant
The different variants of keywords that are supported.