Electroneum
Loading...
Searching...
No Matches
command_line_args.h
Go to the documentation of this file.
1// Copyrights(c) 2017-2021, The Electroneum Project
2// Copyrights(c) 2014-2019, The Monero Project
3//
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without modification, are
7// permitted provided that the following conditions are met:
8//
9// 1. Redistributions of source code must retain the above copyright notice, this list of
10// conditions and the following disclaimer.
11//
12// 2. Redistributions in binary form must reproduce the above copyright notice, this list
13// of conditions and the following disclaimer in the documentation and/or other
14// materials provided with the distribution.
15//
16// 3. Neither the name of the copyright holder nor the names of its contributors may be
17// used to endorse or promote products derived from this software without specific
18// prior written permission.
19//
20// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
21// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
28// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30#ifndef DAEMON_COMMAND_LINE_ARGS_H
31#define DAEMON_COMMAND_LINE_ARGS_H
32
33#include "common/command_line.h"
34#include "cryptonote_config.h"
36
37namespace daemon_args
38{
39 std::string const WINDOWS_SERVICE_NAME = "Electroneum Daemon";
40
42 "config-file"
43 , "Specify configuration file"
44 , (daemonizer::get_default_data_dir() / std::string(CRYPTONOTE_NAME ".conf")).string()
46 , [](std::array<bool, 2> testnet_stagenet, bool defaulted, std::string val)->std::string {
47 if (testnet_stagenet[0] && defaulted)
48 return (daemonizer::get_default_data_dir() / "testnet" /
49 std::string(CRYPTONOTE_NAME ".conf")).string();
50 else if (testnet_stagenet[1] && defaulted)
51 return (daemonizer::get_default_data_dir() / "stagenet" /
52 std::string(CRYPTONOTE_NAME ".conf")).string();
53 return val;
54 }
55 };
57 "log-file"
58 , "Specify log file"
59 , (daemonizer::get_default_data_dir() / std::string(CRYPTONOTE_NAME ".log")).string()
61 , [](std::array<bool, 2> testnet_stagenet, bool defaulted, std::string val)->std::string {
62 if (testnet_stagenet[0] && defaulted)
63 return (daemonizer::get_default_data_dir() / "testnet" /
64 std::string(CRYPTONOTE_NAME ".log")).string();
65 else if (testnet_stagenet[1] && defaulted)
66 return (daemonizer::get_default_data_dir() / "stagenet" /
67 std::string(CRYPTONOTE_NAME ".log")).string();
68 return val;
69 }
70 };
72 "max-log-file-size"
73 , "Specify maximum log file size [B]"
75 };
77 "max-log-files"
78 , "Specify maximum number of rotated log files to be saved (no limit by setting to 0)"
80 };
82 "log-level"
83 , ""
84 , ""
85 };
87 "daemon_command"
88 , "Hidden"
89 };
91 "os-version"
92 , "OS for which this executable was compiled"
93 };
95 "max-concurrency"
96 , "Max number of threads to use for a parallel job"
97 , 0
98 };
99
101 "public-node"
102 , "Allow other users to use the node as a remote (restricted RPC mode, view-only commands) and advertise it over P2P"
103 , false
104 };
105
107 "zmq-rpc-bind-ip"
108 , "IP for ZMQ RPC server to listen on"
109 , "127.0.0.1"
110 };
111
113 "zmq-rpc-bind-port"
114 , "Port for ZMQ RPC server to listen on"
115 , std::to_string(config::ZMQ_RPC_DEFAULT_PORT)
117 , [](std::array<bool, 2> testnet_stagenet, bool defaulted, std::string val)->std::string {
118 if (testnet_stagenet[0] && defaulted)
119 return std::to_string(config::testnet::ZMQ_RPC_DEFAULT_PORT);
120 if (testnet_stagenet[1] && defaulted)
121 return std::to_string(config::stagenet::ZMQ_RPC_DEFAULT_PORT);
122 return val;
123 }
124 };
125
127 "no-zmq"
128 , "Disable ZMQ RPC server"
129 };
130
131} // namespace daemon_args
132
133#endif // DAEMON_COMMAND_LINE_ARGS_H
#define CRYPTONOTE_NAME
#define MAX_LOG_FILES
Definition misc_log_ex.h:39
#define MAX_LOG_FILE_SIZE
Definition misc_log_ex.h:38
uint16_t const ZMQ_RPC_DEFAULT_PORT
uint16_t const ZMQ_RPC_DEFAULT_PORT
uint16_t const ZMQ_RPC_DEFAULT_PORT
const command_line::arg_descriptor< bool, false > arg_testnet_on
const command_line::arg_descriptor< bool, false > arg_stagenet_on
const command_line::arg_descriptor< std::string, false, true, 2 > arg_log_file
const command_line::arg_descriptor< std::size_t > arg_max_log_files
std::string const WINDOWS_SERVICE_NAME
const command_line::arg_descriptor< std::string > arg_log_level
const command_line::arg_descriptor< std::string, false, true, 2 > arg_config_file
const command_line::arg_descriptor< bool > arg_public_node
const command_line::arg_descriptor< bool > arg_os_version
const command_line::arg_descriptor< std::vector< std::string > > arg_command
const command_line::arg_descriptor< bool > arg_zmq_rpc_disabled
const command_line::arg_descriptor< std::string, false, true, 2 > arg_zmq_rpc_bind_port
const command_line::arg_descriptor< std::string > arg_zmq_rpc_bind_ip
const command_line::arg_descriptor< unsigned > arg_max_concurrency
const command_line::arg_descriptor< std::size_t > arg_max_log_file_size
boost::filesystem::path get_default_data_dir()