CARTA Backend
The backend component of CARTA
Loading...
Searching...
No Matches
carta::ProgramSettings Struct Reference

#include <ProgramSettings.h>

Collaboration diagram for carta::ProgramSettings:
[legend]

Public Member Functions

 ProgramSettings ()=default
 
 ProgramSettings (int argc, char **argv)
 
void ApplyCommandLineSettings (int argc, char **argv)
 
void ApplyJSONSettings ()
 
void AddDeprecationWarning (const std::string &option, std::string where)
 
nlohmann::json JSONSettingsFromFile (const std::string &fsp)
 
void SetSettingsFromJSON (const nlohmann::json &j)
 
void PushFilePaths ()
 
void FlushMessages ()
 

Static Public Member Functions

static ProgramSettingsGetInstance ()
 
static ProgramSettingsInitialise (int argc, char **argv)
 

Public Attributes

bool version = false
 
bool help = false
 
std::vector< int > port
 
int omp_thread_count = OMP_THREAD_COUNT
 
int event_thread_count = 2
 
std::string top_level_folder = "/"
 
std::string starting_folder = "."
 
std::string host = "0.0.0.0"
 
std::vector< std::string > files
 
std::vector< fs::path > file_paths
 
std::string frontend_folder
 
bool no_http = false
 
bool no_frontend = false
 
bool no_database = false
 
bool no_runtime_config = false
 
std::string http_url_prefix = ""
 
bool debug_no_auth = false
 
bool no_browser = false
 
bool no_log = false
 
bool log_performance = false
 
bool log_protocol_messages = false
 
int verbosity = 4
 
int wait_time = -1
 
int init_wait_time = -1
 
int idle_session_wait_time = -1
 
bool read_only_mode = false
 
bool enable_scripting = false
 
bool controller_deployment = false
 
std::string browser
 
bool no_user_config = false
 
bool no_system_config = false
 
nlohmann::json command_line_settings
 
bool system_settings_json_exists = false
 
bool user_settings_json_exists = false
 
fs::path user_directory
 
std::unordered_map< std::string, int * > int_keys_map
 
std::unordered_map< std::string, bool * > bool_keys_map
 
std::unordered_map< std::string, std::string * > strings_keys_map
 
std::unordered_map< std::string, std::vector< int > * > vector_int_keys_map
 
std::unordered_map< std::string, std::string > deprecated_options
 
std::vector< std::string > warning_msgs
 
std::vector< std::string > debug_msgs
 

Constructor & Destructor Documentation

◆ ProgramSettings() [1/2]

carta::ProgramSettings::ProgramSettings ( )
default

◆ ProgramSettings() [2/2]

carta::ProgramSettings::ProgramSettings ( int  argc,
char **  argv 
)
Here is the call graph for this function:

Member Function Documentation

◆ AddDeprecationWarning()

void carta::ProgramSettings::AddDeprecationWarning ( const std::string &  option,
std::string  where 
)
Here is the caller graph for this function:

◆ ApplyCommandLineSettings()

void carta::ProgramSettings::ApplyCommandLineSettings ( int  argc,
char **  argv 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyJSONSettings()

void carta::ProgramSettings::ApplyJSONSettings ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FlushMessages()

void carta::ProgramSettings::FlushMessages ( )
inline

◆ GetInstance()

static ProgramSettings & carta::ProgramSettings::GetInstance ( )
inlinestatic
Here is the caller graph for this function:

◆ Initialise()

static ProgramSettings & carta::ProgramSettings::Initialise ( int  argc,
char **  argv 
)
inlinestatic
Here is the call graph for this function:

◆ JSONSettingsFromFile()

json carta::ProgramSettings::JSONSettingsFromFile ( const std::string &  fsp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushFilePaths()

void carta::ProgramSettings::PushFilePaths ( )
Here is the caller graph for this function:

◆ SetSettingsFromJSON()

void carta::ProgramSettings::SetSettingsFromJSON ( const nlohmann::json &  j)
Here is the caller graph for this function:

Member Data Documentation

◆ bool_keys_map

std::unordered_map<std::string, bool*> carta::ProgramSettings::bool_keys_map
Initial value:
{
{"no_log", &no_log},
{"log_performance", &log_performance},
{"log_protocol_messages", &log_protocol_messages},
{"no_http", &no_http},
{"no_browser", &no_browser},
{"read_only_mode", &read_only_mode},
{"enable_scripting", &enable_scripting},
{"no_frontend", &no_frontend},
{"no_database", &no_database},
{"no_runtime_config", &no_runtime_config}
}
bool no_frontend
Definition ProgramSettings.h:55
bool no_browser
Definition ProgramSettings.h:60
bool no_runtime_config
Definition ProgramSettings.h:57
bool no_database
Definition ProgramSettings.h:56
bool log_performance
Definition ProgramSettings.h:62
bool no_log
Definition ProgramSettings.h:61
bool no_http
Definition ProgramSettings.h:54
bool enable_scripting
Definition ProgramSettings.h:69
bool read_only_mode
Definition ProgramSettings.h:68
bool log_protocol_messages
Definition ProgramSettings.h:63

◆ browser

std::string carta::ProgramSettings::browser

◆ command_line_settings

nlohmann::json carta::ProgramSettings::command_line_settings

◆ controller_deployment

bool carta::ProgramSettings::controller_deployment = false

◆ debug_msgs

std::vector<std::string> carta::ProgramSettings::debug_msgs

◆ debug_no_auth

bool carta::ProgramSettings::debug_no_auth = false

◆ deprecated_options

std::unordered_map<std::string, std::string> carta::ProgramSettings::deprecated_options
Initial value:
{
{"base", "Use positional parameters instead to set the starting directory or open files on startup."},
{"root", "Use top_level_folder instead."},
{"threads", "This feature is no longer supported."},
{"no_http", "Use no_frontend and no_database instead."}
}

◆ enable_scripting

bool carta::ProgramSettings::enable_scripting = false

◆ event_thread_count

int carta::ProgramSettings::event_thread_count = 2

◆ file_paths

std::vector<fs::path> carta::ProgramSettings::file_paths

◆ files

std::vector<std::string> carta::ProgramSettings::files

◆ frontend_folder

std::string carta::ProgramSettings::frontend_folder

◆ help

bool carta::ProgramSettings::help = false

◆ host

std::string carta::ProgramSettings::host = "0.0.0.0"

◆ http_url_prefix

std::string carta::ProgramSettings::http_url_prefix = ""

◆ idle_session_wait_time

int carta::ProgramSettings::idle_session_wait_time = -1

◆ init_wait_time

int carta::ProgramSettings::init_wait_time = -1

◆ int_keys_map

std::unordered_map<std::string, int*> carta::ProgramSettings::int_keys_map
Initial value:
{
{"verbosity", &verbosity},
{"omp_threads", &omp_thread_count},
{"event_thread_count", &event_thread_count},
{"exit_timeout", &wait_time},
{"initial_timeout", &init_wait_time},
{"idle_timeout", &idle_session_wait_time}
}
int verbosity
Definition ProgramSettings.h:64
int event_thread_count
Definition ProgramSettings.h:47
int init_wait_time
Definition ProgramSettings.h:66
int idle_session_wait_time
Definition ProgramSettings.h:67
int omp_thread_count
Definition ProgramSettings.h:46
int wait_time
Definition ProgramSettings.h:65

◆ log_performance

bool carta::ProgramSettings::log_performance = false

◆ log_protocol_messages

bool carta::ProgramSettings::log_protocol_messages = false

◆ no_browser

bool carta::ProgramSettings::no_browser = false

◆ no_database

bool carta::ProgramSettings::no_database = false

◆ no_frontend

bool carta::ProgramSettings::no_frontend = false

◆ no_http

bool carta::ProgramSettings::no_http = false

◆ no_log

bool carta::ProgramSettings::no_log = false

◆ no_runtime_config

bool carta::ProgramSettings::no_runtime_config = false

◆ no_system_config

bool carta::ProgramSettings::no_system_config = false

◆ no_user_config

bool carta::ProgramSettings::no_user_config = false

◆ omp_thread_count

int carta::ProgramSettings::omp_thread_count = OMP_THREAD_COUNT

◆ port

std::vector<int> carta::ProgramSettings::port

◆ read_only_mode

bool carta::ProgramSettings::read_only_mode = false

◆ starting_folder

std::string carta::ProgramSettings::starting_folder = "."

◆ strings_keys_map

std::unordered_map<std::string, std::string*> carta::ProgramSettings::strings_keys_map
Initial value:
{
{"host", &host},
{"top_level_folder", &top_level_folder},
{"starting_folder", &starting_folder},
{"frontend_folder", &frontend_folder},
{"browser", &browser},
{"http_url_prefix", &http_url_prefix}
}
std::string top_level_folder
Definition ProgramSettings.h:48
std::string browser
Definition ProgramSettings.h:72
std::string http_url_prefix
Definition ProgramSettings.h:58
std::string frontend_folder
Definition ProgramSettings.h:53
std::string starting_folder
Definition ProgramSettings.h:49
std::string host
Definition ProgramSettings.h:50

◆ system_settings_json_exists

bool carta::ProgramSettings::system_settings_json_exists = false

◆ top_level_folder

std::string carta::ProgramSettings::top_level_folder = "/"

◆ user_directory

fs::path carta::ProgramSettings::user_directory

◆ user_settings_json_exists

bool carta::ProgramSettings::user_settings_json_exists = false

◆ vector_int_keys_map

std::unordered_map<std::string, std::vector<int>*> carta::ProgramSettings::vector_int_keys_map
Initial value:
{
{"port", &port}
}
std::vector< int > port
Definition ProgramSettings.h:45

◆ verbosity

int carta::ProgramSettings::verbosity = 4

◆ version

bool carta::ProgramSettings::version = false

◆ wait_time

int carta::ProgramSettings::wait_time = -1

◆ warning_msgs

std::vector<std::string> carta::ProgramSettings::warning_msgs

The documentation for this struct was generated from the following files: