Electroneum
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
tools Namespace Reference

Various Tools. More...

Namespaces

 anonymous_namespace{util.cpp}
 
 anonymous_namespace{wallet2.cpp}
 
 base58
 
 detail
 
 dns_utils
 
 error
 
 wallet_rpc
 

Classes

struct  close_file
 Functional class for closing C file handles. More...
 
class  DNSResolver
 Provides high-level access to DNS resolution. More...
 
struct  DNSResolverData
 
struct  download_thread_control
 
class  i_wallet2_callback
 
struct  login
 
class  NodeRPCProxy
 
class  password_container
 
class  PerformanceTimer
 
class  scoped_message_writer
 
class  scoped_ptr
 
class  signal_handler
 Defines a signal handler for win32 and *nix. More...
 
class  string_copy
 
class  t_http_connection
 
class  t_rpc_client
 
struct  task_region_
 
class  task_region_handle
 
class  thread_group
 Manages zero or more threads for work dispatching. More...
 
struct  tx_dust_policy
 
class  wallet2
 
class  wallet_rpc_server
 

Typedefs

typedef class scoped_ptr< ub_result, ub_resolve_free > ub_result_ptr
 
typedef std::shared_ptr< download_thread_controldownload_async_handle
 

Enumerations

enum  { EVARINT_OVERFLOW = -1, EVARINT_REPRESENT = -2 }
 Error codes for varint. More...
 

Functions

template<class t_object >
bool serialize_obj_to_file (t_object &obj, const std::string &file_path)
 
template<class t_object >
bool unserialize_obj_from_file (t_object &obj, const std::string &file_path)
 
std::string ipv4_to_string (const char *src, size_t len)
 
std::string ipv6_to_string (const char *src, size_t len)
 
std::string txt_to_string (const char *src, size_t len)
 
static void download_thread (download_async_handle control)
 
bool download (const std::string &path, const std::string &url, std::function< bool(const std::string &, const std::string &, size_t, ssize_t)> cb)
 
download_async_handle download_async (const std::string &path, const std::string &url, std::function< void(const std::string &, const std::string &, bool)> result, std::function< bool(const std::string &, const std::string &, size_t, ssize_t)> progress)
 
bool download_finished (const download_async_handle &control)
 
bool download_error (const download_async_handle &control)
 
bool download_wait (const download_async_handle &control)
 
bool download_cancel (const download_async_handle &control)
 
void set_performance_timer_log_level (el::Level level)
 
scoped_message_writer success_msg_writer (bool color=true)
 
scoped_message_writer msg_writer (epee::console_colors color=epee::console_color_default)
 
scoped_message_writer fail_msg_writer ()
 
void set_stack_trace_log (const std::string &log)
 
void log_stack_trace (const char *msg)
 
bool check_updates (const std::string &software, const std::string &buildtag, std::string &version, std::string &hash)
 
std::string get_update_url (const std::string &software, const std::string &subdir, const std::string &buildtag, const std::string &version, bool user)
 
std::unique_ptr< std::FILE, tools::close_filecreate_private_file (const std::string &name)
 
std::string get_nix_version_display_string ()
 
std::string get_os_version_string ()
 Returns the OS version string. More...
 
std::string get_default_data_dir ()
 Returns the default data directory. More...
 
bool create_directories_if_necessary (const std::string &path)
 creates directories for a path More...
 
std::error_code replace_file (const std::string &replacement_name, const std::string &replaced_name)
 std::rename wrapper for nix and something strange for windows. More...
 
bool sanitize_locale ()
 
void set_strict_default_file_permissions (bool strict)
 
void set_max_concurrency (unsigned n)
 
unsigned get_max_concurrency ()
 
bool is_local_address (const std::string &address)
 
int vercmp (const char *v0, const char *v1)
 
bool sha256sum (const uint8_t *data, size_t len, crypto::hash &hash)
 
bool sha256sum (const std::string &filename, crypto::hash &hash)
 
int display_simple_progress_spinner (int x)
 
std::string glob_to_regex (const std::string &val)
 
template<typename OutputIt , typename T >
std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value, void >::type write_varint (OutputIt &&dest, T i)
 writes a varint to a stream. More...
 
template<typename T >
std::string get_varint_data (const T &v)
 Returns the string that represents the varint. More...
 
static uint64_t decodeRct (const rct::rctSig &rv, const crypto::public_key &pub, const crypto::secret_key &sec, unsigned int i, rct::key &mask)
 
static size_t estimate_rct_tx_size (int n_inputs, int mixin, int n_outputs)
 
static size_t estimate_tx_size (bool use_rct, int n_inputs, int mixin, int n_outputs)
 
static uint32_t get_count_above (const std::vector< wallet2::transfer_details > &transfers, const std::vector< size_t > &indices, uint64_t threshold)
 

Variables

static const int DNS_CLASS_IN = 1
 
static const int DNS_TYPE_A = 1
 
static const int DNS_TYPE_TXT = 16
 
static const int DNS_TYPE_AAAA = 8
 
el::Level performance_timer_log_level = el::Level::Debug
 
__thread std::vector< PerformanceTimer * > * performance_timers = NULL
 
constexpr const task_region_ task_region {}
 
static const std::chrono::seconds rpc_timeout = std::chrono::minutes(3) + std::chrono::seconds(30)
 
const size_t MAX_SPLIT_ATTEMPTS = 30
 

Detailed Description

Various Tools.

Typedef Documentation

◆ download_async_handle

◆ ub_result_ptr

typedef class scoped_ptr< ub_result, ub_resolve_free > tools::ub_result_ptr

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Error codes for varint.

Enumerator
EVARINT_OVERFLOW 
EVARINT_REPRESENT 

Function Documentation

◆ check_updates()

bool tools::check_updates ( const std::string &  software,
const std::string &  buildtag,
std::string &  version,
std::string &  hash 
)

◆ create_directories_if_necessary()

bool tools::create_directories_if_necessary ( const std::string &  path)

creates directories for a path

wrapper around boost::filesyste::create_directories.
(ensure-directory-exists): greenspun's tenth rule in action!

◆ create_private_file()

std::unique_ptr< std::FILE, close_file > tools::create_private_file ( const std::string &  filename)
Returns
File only readable by owner. nullptr if filename exists.

◆ decodeRct()

static uint64_t tools::decodeRct ( const rct::rctSig rv,
const crypto::public_key pub,
const crypto::secret_key sec,
unsigned int  i,
rct::key mask 
)
static

◆ display_simple_progress_spinner()

int tools::display_simple_progress_spinner ( int  x)

◆ download()

bool tools::download ( const std::string &  path,
const std::string &  url,
std::function< bool(const std::string &, const std::string &, size_t, ssize_t)>  cb 
)

◆ download_async()

download_async_handle tools::download_async ( const std::string &  path,
const std::string &  url,
std::function< void(const std::string &, const std::string &, bool)>  result,
std::function< bool(const std::string &, const std::string &, size_t, ssize_t)>  progress 
)

◆ download_cancel()

bool tools::download_cancel ( const download_async_handle control)

◆ download_error()

bool tools::download_error ( const download_async_handle control)

◆ download_finished()

bool tools::download_finished ( const download_async_handle control)

◆ download_thread()

static void tools::download_thread ( download_async_handle  control)
static

◆ download_wait()

bool tools::download_wait ( const download_async_handle control)

◆ estimate_rct_tx_size()

static size_t tools::estimate_rct_tx_size ( int  n_inputs,
int  mixin,
int  n_outputs 
)
static

◆ estimate_tx_size()

static size_t tools::estimate_tx_size ( bool  use_rct,
int  n_inputs,
int  mixin,
int  n_outputs 
)
static

◆ fail_msg_writer()

scoped_message_writer tools::fail_msg_writer ( )
inline

◆ get_count_above()

static uint32_t tools::get_count_above ( const std::vector< wallet2::transfer_details > &  transfers,
const std::vector< size_t > &  indices,
uint64_t  threshold 
)
static

◆ get_default_data_dir()

std::string tools::get_default_data_dir ( )

Returns the default data directory.

Windows < Vista: C:\Documents and Settings\Username\Application Data\CRYPTONOTE_NAME

Windows >= Vista: C:\Users\Username\AppData\Roaming\CRYPTONOTE_NAME

Mac: ~/Library/Application Support/CRYPTONOTE_NAME

Unix: ~/.CRYPTONOTE_NAME

◆ get_max_concurrency()

unsigned tools::get_max_concurrency ( )

◆ get_nix_version_display_string()

std::string tools::get_nix_version_display_string ( )

◆ get_os_version_string()

std::string tools::get_os_version_string ( )

Returns the OS version string.

This is a wrapper around the primitives get_windows_version_display_string() and get_nix_version_display_string()

◆ get_update_url()

std::string tools::get_update_url ( const std::string &  software,
const std::string &  subdir,
const std::string &  buildtag,
const std::string &  version,
bool  user 
)

◆ get_varint_data()

template<typename T >
std::string tools::get_varint_data ( const T v)

Returns the string that represents the varint.

◆ glob_to_regex()

std::string tools::glob_to_regex ( const std::string &  val)

◆ ipv4_to_string()

std::string tools::ipv4_to_string ( const char *  src,
size_t  len 
)

◆ ipv6_to_string()

std::string tools::ipv6_to_string ( const char *  src,
size_t  len 
)

◆ is_local_address()

bool tools::is_local_address ( const std::string &  address)

◆ log_stack_trace()

void tools::log_stack_trace ( const char *  msg)

◆ msg_writer()

scoped_message_writer tools::msg_writer ( epee::console_colors  color = epee::console_color_default)
inline

◆ replace_file()

std::error_code tools::replace_file ( const std::string &  replacement_name,
const std::string &  replaced_name 
)

std::rename wrapper for nix and something strange for windows.

◆ sanitize_locale()

bool tools::sanitize_locale ( )

◆ serialize_obj_to_file()

template<class t_object >
bool tools::serialize_obj_to_file ( t_object &  obj,
const std::string &  file_path 
)

◆ set_max_concurrency()

void tools::set_max_concurrency ( unsigned  n)

◆ set_performance_timer_log_level()

void tools::set_performance_timer_log_level ( el::Level  level)

◆ set_stack_trace_log()

void tools::set_stack_trace_log ( const std::string &  log)

◆ set_strict_default_file_permissions()

void tools::set_strict_default_file_permissions ( bool  strict)

◆ sha256sum() [1/2]

bool tools::sha256sum ( const uint8_t *  data,
size_t  len,
crypto::hash hash 
)

◆ sha256sum() [2/2]

bool tools::sha256sum ( const std::string &  filename,
crypto::hash hash 
)

◆ success_msg_writer()

scoped_message_writer tools::success_msg_writer ( bool  color = true)
inline

◆ txt_to_string()

std::string tools::txt_to_string ( const char *  src,
size_t  len 
)

◆ unserialize_obj_from_file()

template<class t_object >
bool tools::unserialize_obj_from_file ( t_object &  obj,
const std::string &  file_path 
)

◆ vercmp()

int tools::vercmp ( const char *  v0,
const char *  v1 
)

◆ write_varint()

template<typename OutputIt , typename T >
std::enable_if<std::is_integral<T>::value && std::is_unsigned<T>::value, void>::type tools::write_varint ( OutputIt &&  dest,
T  i 
)

writes a varint to a stream.

Variable Documentation

◆ DNS_CLASS_IN

const int tools::DNS_CLASS_IN = 1
static

◆ DNS_TYPE_A

const int tools::DNS_TYPE_A = 1
static

◆ DNS_TYPE_AAAA

const int tools::DNS_TYPE_AAAA = 8
static

◆ DNS_TYPE_TXT

const int tools::DNS_TYPE_TXT = 16
static

◆ MAX_SPLIT_ATTEMPTS

const size_t tools::MAX_SPLIT_ATTEMPTS = 30

◆ performance_timer_log_level

el::Level tools::performance_timer_log_level = el::Level::Debug

◆ performance_timers

__thread std::vector< PerformanceTimer * > * tools::performance_timers = NULL

◆ rpc_timeout

const std::chrono::seconds tools::rpc_timeout = std::chrono::minutes(3) + std::chrono::seconds(30)
static

◆ task_region

constexpr const task_region_ tools::task_region {}