Branch data Line data Source code
1 : : #ifndef APP_HPP
2 : : #define APP_HPP
3 : :
4 : : /** @file
5 : : * @brief App related elements.
6 : : *
7 : : * It contains the App related elements.
8 : : */
9 : :
10 : : #include "lib/iLib.hpp"
11 : :
12 : : namespace app {
13 : : /**
14 : : * @brief A template for executables.
15 : : *
16 : : * This class is a template to create executables.
17 : : */
18 : : class App {
19 : : public:
20 : 3 : constexpr explicit App(const lib::ILib& lib) : mLib(lib) {}
21 : : constexpr App(const App&) = delete;
22 : : constexpr App(App&&) = delete;
23 : : App& operator=(const App&) = delete;
24 : : App& operator=(App&&) = delete;
25 : : constexpr ~App() = default;
26 : :
27 : : /**
28 : : * @brief The entry point of App.
29 : : *
30 : : * This function is the entry point of the App.
31 : : * Currently, it just prints out the hello world 2 times: directly and
32 : : * indirectly (calls the Lib).
33 : : *
34 : : * @return the error code: 0 means everything went well.
35 : : */
36 : : int main();
37 : :
38 : : private:
39 : : const lib::ILib& mLib;
40 : : };
41 : : } // namespace app
42 : :
43 : : #endif // APP_HPP
|