Electroneum
Toggle main menu visibility
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
"
35
#include "
daemonizer/daemonizer.h
"
36
37
namespace
daemon_args
38
{
39
std::string
const
WINDOWS_SERVICE_NAME
=
"Electroneum Daemon"
;
40
41
const
command_line::arg_descriptor<std::string, false, true, 2>
arg_config_file
= {
42
"config-file"
43
,
"Specify configuration file"
44
, (
daemonizer::get_default_data_dir
() / std::string(
CRYPTONOTE_NAME
".conf"
)).
string
()
45
, {{ &
cryptonote::arg_testnet_on
, &
cryptonote::arg_stagenet_on
}}
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
};
56
const
command_line::arg_descriptor<std::string, false, true, 2>
arg_log_file
= {
57
"log-file"
58
,
"Specify log file"
59
, (
daemonizer::get_default_data_dir
() / std::string(
CRYPTONOTE_NAME
".log"
)).
string
()
60
, {{ &
cryptonote::arg_testnet_on
, &
cryptonote::arg_stagenet_on
}}
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
};
71
const
command_line::arg_descriptor<std::size_t>
arg_max_log_file_size
= {
72
"max-log-file-size"
73
,
"Specify maximum log file size [B]"
74
,
MAX_LOG_FILE_SIZE
75
};
76
const
command_line::arg_descriptor<std::size_t>
arg_max_log_files
= {
77
"max-log-files"
78
,
"Specify maximum number of rotated log files to be saved (no limit by setting to 0)"
79
,
MAX_LOG_FILES
80
};
81
const
command_line::arg_descriptor<std::string>
arg_log_level
= {
82
"log-level"
83
,
""
84
,
""
85
};
86
const
command_line::arg_descriptor<std::vector<std::string>
>
arg_command
= {
87
"daemon_command"
88
,
"Hidden"
89
};
90
const
command_line::arg_descriptor<bool>
arg_os_version
= {
91
"os-version"
92
,
"OS for which this executable was compiled"
93
};
94
const
command_line::arg_descriptor<unsigned>
arg_max_concurrency
= {
95
"max-concurrency"
96
,
"Max number of threads to use for a parallel job"
97
, 0
98
};
99
100
const
command_line::arg_descriptor<bool>
arg_public_node
= {
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
106
const
command_line::arg_descriptor<std::string>
arg_zmq_rpc_bind_ip
= {
107
"zmq-rpc-bind-ip"
108
,
"IP for ZMQ RPC server to listen on"
109
,
"127.0.0.1"
110
};
111
112
const
command_line::arg_descriptor<std::string, false, true, 2>
arg_zmq_rpc_bind_port
= {
113
"zmq-rpc-bind-port"
114
,
"Port for ZMQ RPC server to listen on"
115
, std::to_string(
config::ZMQ_RPC_DEFAULT_PORT
)
116
, {{ &
cryptonote::arg_testnet_on
, &
cryptonote::arg_stagenet_on
}}
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
126
const
command_line::arg_descriptor<bool>
arg_zmq_rpc_disabled
= {
127
"no-zmq"
128
,
"Disable ZMQ RPC server"
129
};
130
131
}
// namespace daemon_args
132
133
#endif
// DAEMON_COMMAND_LINE_ARGS_H
command_line.h
cryptonote_config.h
CRYPTONOTE_NAME
#define CRYPTONOTE_NAME
Definition
cryptonote_config.h:149
daemonizer.h
MAX_LOG_FILES
#define MAX_LOG_FILES
Definition
misc_log_ex.h:39
MAX_LOG_FILE_SIZE
#define MAX_LOG_FILE_SIZE
Definition
misc_log_ex.h:38
config::stagenet::ZMQ_RPC_DEFAULT_PORT
uint16_t const ZMQ_RPC_DEFAULT_PORT
Definition
cryptonote_config.h:235
config::testnet::ZMQ_RPC_DEFAULT_PORT
uint16_t const ZMQ_RPC_DEFAULT_PORT
Definition
cryptonote_config.h:220
config::ZMQ_RPC_DEFAULT_PORT
uint16_t const ZMQ_RPC_DEFAULT_PORT
Definition
cryptonote_config.h:206
cryptonote::arg_testnet_on
const command_line::arg_descriptor< bool, false > arg_testnet_on
Definition
cryptonote_core.cpp:71
cryptonote::arg_stagenet_on
const command_line::arg_descriptor< bool, false > arg_stagenet_on
Definition
cryptonote_core.cpp:76
daemon_args
Definition
command_line_args.h:38
daemon_args::arg_log_file
const command_line::arg_descriptor< std::string, false, true, 2 > arg_log_file
Definition
command_line_args.h:56
daemon_args::arg_max_log_files
const command_line::arg_descriptor< std::size_t > arg_max_log_files
Definition
command_line_args.h:76
daemon_args::WINDOWS_SERVICE_NAME
std::string const WINDOWS_SERVICE_NAME
Definition
command_line_args.h:39
daemon_args::arg_log_level
const command_line::arg_descriptor< std::string > arg_log_level
Definition
command_line_args.h:81
daemon_args::arg_config_file
const command_line::arg_descriptor< std::string, false, true, 2 > arg_config_file
Definition
command_line_args.h:41
daemon_args::arg_public_node
const command_line::arg_descriptor< bool > arg_public_node
Definition
command_line_args.h:100
daemon_args::arg_os_version
const command_line::arg_descriptor< bool > arg_os_version
Definition
command_line_args.h:90
daemon_args::arg_command
const command_line::arg_descriptor< std::vector< std::string > > arg_command
Definition
command_line_args.h:86
daemon_args::arg_zmq_rpc_disabled
const command_line::arg_descriptor< bool > arg_zmq_rpc_disabled
Definition
command_line_args.h:126
daemon_args::arg_zmq_rpc_bind_port
const command_line::arg_descriptor< std::string, false, true, 2 > arg_zmq_rpc_bind_port
Definition
command_line_args.h:112
daemon_args::arg_zmq_rpc_bind_ip
const command_line::arg_descriptor< std::string > arg_zmq_rpc_bind_ip
Definition
command_line_args.h:106
daemon_args::arg_max_concurrency
const command_line::arg_descriptor< unsigned > arg_max_concurrency
Definition
command_line_args.h:94
daemon_args::arg_max_log_file_size
const command_line::arg_descriptor< std::size_t > arg_max_log_file_size
Definition
command_line_args.h:71
daemonizer::get_default_data_dir
boost::filesystem::path get_default_data_dir()
command_line::arg_descriptor
Definition
command_line.h:54
src
daemon
command_line_args.h
Generated on
for Electroneum by
1.17.0