20#ifndef ORES_CLI_CONFIG_PARSER_HELPERS_HPP
21#define ORES_CLI_CONFIG_PARSER_HELPERS_HPP
26#include <boost/program_options.hpp>
27#include "ores.cli/config/entity.hpp"
28#include "ores.cli/config/format.hpp"
29#include "ores.cli/config/export_options.hpp"
30#include "ores.cli/config/delete_options.hpp"
32namespace ores::cli::config::parser_helpers {
37void print_help_header(std::ostream& s);
46void print_help_command(
const std::string& command_name,
47 const boost::program_options::options_description& od, std::ostream& info);
52boost::program_options::options_description
53add_common_options(boost::program_options::options_description base);
58void validate_operation(
const std::string& entity_name,
59 const std::string& operation,
60 const std::vector<std::string>& allowed_operations);
65void print_entity_help(
const std::string& entity_name,
66 const std::string& description,
67 const std::vector<std::pair<std::string, std::string>>& operations,
73boost::program_options::options_description make_export_options_description();
78boost::program_options::options_description make_delete_options_description();
83format read_format(
const boost::program_options::variables_map& vm);
88export_options read_export_options(
89 const boost::program_options::variables_map& vm, entity e);
94delete_options read_delete_options(
95 const boost::program_options::variables_map& vm, entity e);