Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
Application.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_APP_APPLICATION_HPP_
2#define IV_SRC_APP_APPLICATION_HPP_
3
5#include "diamar/enums.hpp"
6
7namespace iv::appdiamar
8{
9
11{
12public:
13 static std::unique_ptr<Application> &get();
14
15 Application() = delete;
16 explicit Application(std::string_view name);
17
18 virtual ~Application() = default;
19
20 Application &operator=(const Application &other) = delete;
21 Application &operator=(Application &&other) = delete;
22
23 virtual void run(int32_t argc, char *argv[]) = 0;
24
25 [[nodiscard]] virtual std::weak_ptr<iv::appdiamar::IApplicationController> getApplicationController() const = 0;
26 void setController(std::shared_ptr<iv::appdiamar::IApplicationController> controller);
27
28protected:
29 Application(const Application &other) = default;
30 Application(Application &&other) = default;
31
32 std::string_view m_name;
35
36 std::shared_ptr<iv::appdiamar::IApplicationController> applicationController;
37
38 static std::unique_ptr<Application> instance;
39};
40
41}// namespace iv::appdiamar
42
43#endif//IV_SRC_APP_APPLICATION_HPP_
Definition Application.hpp:11
virtual ~Application()=default
std::string_view m_name
Definition Application.hpp:32
std::shared_ptr< iv::appdiamar::IApplicationController > applicationController
Definition Application.hpp:36
Application(Application &&other)=default
Application & operator=(Application &&other)=delete
iv::app::eState state
Definition Application.hpp:33
static std::unique_ptr< Application > & get()
Definition Application.cpp:20
void setController(std::shared_ptr< iv::appdiamar::IApplicationController > controller)
Definition Application.cpp:15
virtual std::weak_ptr< iv::appdiamar::IApplicationController > getApplicationController() const =0
virtual void run(int32_t argc, char *argv[])=0
iv::app::eExitMode exitMode
Definition Application.hpp:34
Application(const Application &other)=default
static std::unique_ptr< Application > instance
Definition Application.hpp:38
Application & operator=(const Application &other)=delete
eState
Definition enums.hpp:20
eExitMode
Definition enums.hpp:13
Definition Application.cpp:6