6 #ifndef DAQ_DPM_DP_SPEC_HPP
7 #define DAQ_DPM_DP_SPEC_HPP
11 #include <string_view>
15 #include <nlohmann/json.hpp>
24 using SchemaError::SchemaError;
37 std::optional<FitsFileSource>
source;
40 using SourceTypes = std::variant<FitsKeywordsSource, FitsFileSource>;
64 std::filesystem::path
path;
Contains data structure for FITS keywords.
Location ParseSourceLocation(std::string const &location_str)
Parse location string from DpSpec into component parts.
DpSpec ParseDpSpec(Json const &json)
Parse JSON to construct the DpSpec structure.
std::optional< FitsFileSource > source
std::vector< SourceTypes > sources
std::variant< FitsKeywordsSource, FitsFileSource > SourceTypes
std::string file_prefix
Optioal user chosen file prefix to make it easier to identify the produced file.
void to_json(nlohmann::json &out, KeywordFilter const &s)
Close representation of the JSON structure but with stronger types.
Describes parsed location string into its components "host" and "path".
std::filesystem::path path
std::string RsyncPath() const