r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1#include <iostream>
2
4#include "Server/Server.hpp"
5#include "Utils/Logger.hpp"
6
7int main(const int argc, const char *const argv[], const char *const env[])
8{
10 try
11 {
12 const srv::ArgsConfig argsConf = srv::ArgsHandler::ParseArgs(argc, argv);
13 const srv::EnvConfig envConf = srv::ArgsHandler::ParseEnv(env);
14 if (argsConf.exit)
15 {
16 return EXIT_SUCCESS;
17 }
18 const srv::Server server(argsConf);
19 server.run();
20 }
21 catch (const std::exception &e)
22 {
23 utl::Logger::log(std::string("Exception: ") + e.what(), utl::LogLevel::WARNING);
24 return EXIT_FAILURE;
25 }
26 catch (...)
27 {
28 utl::Logger::log("Unknown exception", utl::LogLevel::WARNING);
29 return EXIT_FAILURE;
30 }
31 return EXIT_SUCCESS;
32}
This file contains the Logger class.
This file contains the Server class declaration.
static EnvConfig ParseEnv(const char *const env[])
static ArgsConfig ParseArgs(int argc, const char *const argv[])
Class for the server.
Definition Server.hpp:24
void run() const
Definition server.cpp:25
static void init()
Definition logger.cpp:7
static void log(const std::string &message, const LogLevel &logLevel)
Definition Logger.hpp:51
int main(const int argc, const char *const *argv, const char *const *env)
Definition main.cpp:5
This file contains the ArgsHandler class declaration.