Orcus
config.hpp
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6  */
7 
8 #ifndef INCLUDED_ORCUS_CONFIG_HPP
9 #define INCLUDED_ORCUS_CONFIG_HPP
10 
11 #include "env.hpp"
12 
13 #include <string>
14 
15 namespace orcus {
16 
17 struct ORCUS_DLLPUBLIC config
18 {
22  bool debug;
23 
30 
31  config();
32 };
33 
34 struct ORCUS_DLLPUBLIC json_config
35 {
36  enum class output_format_type
37  {
39  none,
41  xml,
43  json,
45  check
46  };
47 
53  std::string input_path;
54 
59  std::string output_path;
60 
65 
73 
78 
90 
91  json_config();
92  ~json_config();
93 };
94 
95 struct ORCUS_DLLPUBLIC yaml_config
96 {
97  enum class output_format_type { none, yaml, json };
98 
99  std::string input_path;
100  std::string output_path;
101 
102  output_format_type output_format;
103 
104  yaml_config();
105  ~yaml_config();
106 };
107 
108 }
109 
110 #endif
111 
112 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition: config.hpp:95
output_format_type output_format
Definition: config.hpp:64
std::string input_path
Definition: config.hpp:53
Definition: config.hpp:17
std::string output_path
Definition: config.hpp:59
bool resolve_references
Definition: config.hpp:77
bool preserve_object_order
Definition: config.hpp:72
Definition: config.hpp:34
bool debug
Definition: config.hpp:22
bool structure_check
Definition: config.hpp:29
Definition: base64.hpp:15
bool persistent_string_values
Definition: config.hpp:89
output_format_type
Definition: config.hpp:36