cae  0.0.0
Cross-API graphics engine
Loading...
Searching...
No Matches
ArgsHandler.hpp
Go to the documentation of this file.
1///
2/// @file ArgsHandler.hpp
3/// @brief This file contains the ArgsHandler class declaration
4/// @namespace cae
5///
6
7#pragma once
8
9#include <string>
10
11namespace cae
12{
13
14 ///
15 /// @struct ArgsConfig
16 /// @brief Struct for command line arguments configuration
17 /// @namespace cae
18 ///
20 {
21 bool run = false;
22 std::string config_path;
23 };
24
25 ///
26 /// @struct EnvConfig
27 /// @brief Struct for environment variables configuration
28 /// @namespace cae
29 ///
30 struct EnvConfig
31 {
32 std::string user_name;
33 std::string pwd;
34 };
35
36 ///
37 /// @class ArgsHandler
38 /// @brief Class to handle command line arguments
39 /// @namespace cae
40 ///
42 {
43
44 public:
45 ArgsHandler() = default;
46 ~ArgsHandler() = default;
47
48 ArgsHandler(const ArgsHandler &) = delete;
49 ArgsHandler &operator=(const ArgsHandler &) = delete;
52
53 ///
54 /// @param argc argument count
55 /// @param argv argument vector
56 /// @return Parsed ArgsConfig
57 /// @brief Parse command line arguments
58 ///
59 static ArgsConfig ParseArgs(int argc, const char *const *argv);
60
61 ///
62 /// @param envp environment pointer
63 /// @return Parsed EnvConfig
64 /// @brief Parse environment variables
65 ///
66 static EnvConfig ParseEnv(const char *const *envp);
67
68 private:
69 }; // class ArgsHandler
70
71} // namespace cae
Class to handle command line arguments.
ArgsHandler(const ArgsHandler &)=delete
ArgsHandler & operator=(const ArgsHandler &)=delete
static ArgsConfig ParseArgs(int argc, const char *const *argv)
Parse command line arguments.
ArgsHandler & operator=(ArgsHandler &&)=delete
ArgsHandler(ArgsHandler &&)=delete
~ArgsHandler()=default
static EnvConfig ParseEnv(const char *const *envp)
Parse environment variables.
ArgsHandler()=default
Struct for command line arguments configuration.
std::string config_path
Struct for environment variables configuration.
std::string user_name
std::string pwd