aboutsummaryrefslogtreecommitdiff
path: root/src/common/command_line.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/command_line.cpp')
-rw-r--r--src/common/command_line.cpp45
1 files changed, 36 insertions, 9 deletions
diff --git a/src/common/command_line.cpp b/src/common/command_line.cpp
index b3f488447..f71b3e576 100644
--- a/src/common/command_line.cpp
+++ b/src/common/command_line.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2016, The Monero Project
+// Copyright (c) 2014-2017, The Monero Project
//
// All rights reserved.
//
@@ -29,11 +29,24 @@
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
#include "command_line.h"
-#include "string_tools.h"
+#include <boost/algorithm/string/compare.hpp>
+#include <boost/algorithm/string/predicate.hpp>
+#include <unordered_set>
+#include "blockchain_db/db_types.h"
+#include "common/i18n.h"
#include "cryptonote_config.h"
+#include "string_tools.h"
namespace command_line
{
+ namespace
+ {
+ const char* tr(const char* str)
+ {
+ return i18n_translate(str, "command_line");
+ }
+ }
+
std::string input_line(const std::string& prompt)
{
std::cout << prompt;
@@ -45,11 +58,24 @@ namespace command_line
}
+ bool is_yes(const std::string& str)
+ {
+ if (str == "y" || str == "Y")
+ return true;
+
+ boost::algorithm::is_iequal ignore_case{};
+ if (boost::algorithm::equals("yes", str, ignore_case))
+ return true;
+ if (boost::algorithm::equals(command_line::tr("yes"), str, ignore_case))
+ return true;
+
+ return false;
+ }
+
const arg_descriptor<bool> arg_help = {"help", "Produce help message"};
const arg_descriptor<bool> arg_version = {"version", "Output version information"};
const arg_descriptor<std::string> arg_data_dir = {"data-dir", "Specify data directory"};
const arg_descriptor<std::string> arg_testnet_data_dir = {"testnet-data-dir", "Specify testnet data directory"};
- const arg_descriptor<std::string> arg_user_agent = {"user-agent", "Restrict RPC use to clients using this user agent"};
const arg_descriptor<bool> arg_test_drop_download = {"test-drop-download", "For net tests: in download, discard ALL blocks instead checking/saving them (very fast)"};
const arg_descriptor<uint64_t> arg_test_drop_download_height = {"test-drop-download-height", "Like test-drop-download but disards only after around certain height", 0};
const arg_descriptor<int> arg_test_dbg_lock_sleep = {"test-dbg-lock-sleep", "Sleep time in ms, defaults to 0 (off), used to debug before/after locking mutex. Values 100 to 1000 are good for tests."};
@@ -63,9 +89,10 @@ namespace command_line
, "checkpoints from DNS server will be enforced"
, false
};
+ std::string arg_db_type_description = "Specify database type, available: " + boost::algorithm::join(cryptonote::blockchain_db_types, ", ");
const command_line::arg_descriptor<std::string> arg_db_type = {
"db-type"
- , "Specify database type"
+ , arg_db_type_description.c_str()
, DEFAULT_DB_TYPE
};
const command_line::arg_descriptor<std::string> arg_db_sync_mode = {
@@ -83,11 +110,6 @@ namespace command_line
, "Max number of threads to use when preparing block hashes in groups."
, 4
};
- const command_line::arg_descriptor<uint64_t> arg_db_auto_remove_logs = {
- "db-auto-remove-logs"
- , "For BerkeleyDB only. Remove transactions logs automatically."
- , 1
- };
const command_line::arg_descriptor<uint64_t> arg_show_time_stats = {
"show-time-stats"
, "Show time-stats when processing blocks/txs and disk synchronization."
@@ -98,4 +120,9 @@ namespace command_line
, "How many blocks to sync at once during chain synchronization."
, BLOCKS_SYNCHRONIZING_DEFAULT_COUNT
};
+ const command_line::arg_descriptor<std::string> arg_check_updates = {
+ "check-updates"
+ , "Check for new versions of monero: [disabled|notify|download|update]"
+ , "notify"
+ };
}