Horizon
Loading...
Searching...
No Matches
pnp_export_settings.hpp
1#pragma once
2#include "common/lut.hpp"
3#include "util/uuid.hpp"
4#include "nlohmann/json_fwd.hpp"
5#include "pnp.hpp"
6#include <vector>
7
8namespace horizon {
9using json = nlohmann::json;
10
12public:
13 PnPExportSettings(const json &j);
15 json serialize() const;
16
17 enum class Format { CSV, TEXT };
18 Format format = Format::CSV;
19
20 std::vector<PnPColumn> columns;
21
22 enum class Mode { INDIVIDUAL, MERGED };
23 Mode mode = Mode::MERGED;
24
25 static const LutEnumStr<Mode> mode_lut;
26
27 bool include_nopopulate = true;
28
29 bool customize = false;
30 std::string position_format;
31 std::string top_side;
32 std::string bottom_side;
33 std::map<PnPColumn, std::string> column_names;
34 const std::string &get_column_name(PnPColumn col) const;
35
36 std::string output_directory;
37
38 std::string filename_top;
39 std::string filename_bottom;
40 std::string filename_merged;
41};
42} // namespace horizon
Definition lut.hpp:18
Definition pnp_export_settings.hpp:11
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62