X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/86b8aab2752e68ca1844896c54e6083d88cac23b..4b6cb30ae7c85d6ca9d2defb4e6d8f5cae309eeb:/projects/sgconf/main.cpp diff --git a/projects/sgconf/main.cpp b/projects/sgconf/main.cpp index 82372224..97908195 100644 --- a/projects/sgconf/main.cpp +++ b/projects/sgconf/main.cpp @@ -25,6 +25,7 @@ #include "users.h" #include "services.h" #include "corps.h" +#include "info.h" #include "api_action.h" #include "options.h" @@ -256,7 +257,10 @@ SGCONF::OPTION_BLOCK & block = blocks.Add("Connection options") .Add("u", "username", SGCONF::MakeParamAction(config.userName, std::string("admin"), ""), "\tadministrative login") .Add("w", "userpass", SGCONF::MakeParamAction(config.userPass, ""), "\tpassword for the administrative login") .Add("a", "address", SGCONF::MakeParamAction(config, ""), "connection params as a single string in format: :@:"); +blocks.Add("Debug options") + .Add("show-config", SGCONF::MakeParamAction(config.showConfig), "\tshow config and exit"); SGCONF::AppendXMLOptionBlock(commands, blocks); +SGCONF::AppendServerInfoBlock(commands, blocks); SGCONF::AppendAdminsOptionBlock(commands, blocks); SGCONF::AppendTariffsOptionBlock(commands, blocks); SGCONF::AppendUsersOptionBlock(commands, blocks); @@ -302,7 +306,11 @@ else config = configOverride; -std::cerr << "Config: " << config.Serialize() << std::endl; +if (!config.showConfig.empty() && config.showConfig.data()) + { + std::cout << config.Serialize() << std::endl; + return 0; + } return commands.Execute(config) ? 0 : -1; } catch (const std::exception& ex)