aboutsummaryrefslogtreecommitdiff
path: root/src/dedicated/main.cc
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-12 21:57:46 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-12 21:57:46 +1100
commite4483eca01b48b943cd0461e24a74ae1a3139ed4 (patch)
treeed58c3c246e3af1af337697695d780aa31f6ad9a /src/dedicated/main.cc
parent1cc08c51eb4b0f95c30c0a98ad1fc5ad3459b2df (diff)
Update to most recent version (old initial commit)
Diffstat (limited to 'src/dedicated/main.cc')
-rw-r--r--src/dedicated/main.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/dedicated/main.cc b/src/dedicated/main.cc
new file mode 100644
index 0000000..d9c5bb4
--- /dev/null
+++ b/src/dedicated/main.cc
@@ -0,0 +1,39 @@
+#include "main.hh"
+
+static std::string& get_port() noexcept {
+ static std::string port{shared::DEFAULT_PORT};
+ return port;
+}
+
+static bool parse_arg(const int& c, const char* const arg) {
+ switch (c) {
+ case 'p':
+ get_port() = boost::lexical_cast<std::string>(arg);
+ break;
+ default:
+ return false;
+ }
+ return true;
+}
+
+static const shared::args_t& get_options() {
+ static shared::args_t ret = []() -> shared::args_t {
+ shared::args_t ret{
+ {.name = "port", .desc = "override the default port", .val = "p:"}};
+ std::ranges::copy(shared::get_options(), std::back_inserter(ret));
+ std::ranges::copy(server::get_options(), std::back_inserter(ret));
+ return ret;
+ }();
+
+ return ret;
+}
+
+int main(const int argc, char* const argv[]) {
+ shared::init();
+
+ shared::parse_args(argc, argv, get_options(),
+ {&parse_arg, &shared::parse_arg, &server::parse_arg});
+
+ shared::try_main(server::main, shared::DEFAULT_ADDRESS, get_port());
+ return EXIT_SUCCESS;
+}