61 void bye(
int error)
override
86 m_socketMultiplexer = std::move(sm);
91 return m_socketMultiplexer.get();
96 assert(s_instance !=
nullptr);
113 static App *s_instance;
116 std::unique_ptr<SocketMultiplexer> m_socketMultiplexer;
120#if !defined(WINAPI_LIBEI) && WINAPI_XWINDOWS
122 "\nYour Linux distribution does not support Wayland EI (emulated input)\n"
123 "which is required for Wayland support. Please use a Linux distribution\n"
124 "that supports Wayland EI.\n";
#define ARCH_APP_UTIL
Definition AppUtilUnix.h:12
static constexpr auto s_helpNoWayland
Definition App.h:127
static int(PASCAL FAR *bind_winsock)(SOCKET s
XNoEiSupport()
Definition App.h:39
IEventQueue * getEvents() const override
Definition App.h:65
virtual void loadConfig()=0
static App & instance()
Definition App.h:94
virtual bool loadConfig(const QString &filename)=0
SocketMultiplexer * getSocketMultiplexer() const
Definition App.h:89
App & operator=(App &&)=delete
void loggingFilterWarning() const
Definition App.cpp:114
App(IEventQueue *events, const QString &processName)
Definition App.cpp:42
void setupFileLogging()
Definition App.cpp:104
void setByeFunc(void(*bye)(int)) override
Definition App.h:57
void initApp() override
Definition App.cpp:124
int run()
Definition App.cpp:60
QString processName() const
Definition App.h:100
ARCH_APP_UTIL & appUtil()
Definition App.h:70
void runEventsLoop(const void *)
Definition App.cpp:151
virtual void parseArgs()=0
void bye(int error) override
Definition App.h:61
App & operator=(App const &)=delete
void setEvents(EventQueue &events)
Definition App.h:80
~App() override
Definition App.cpp:55
void setSocketMultiplexer(std::unique_ptr< SocketMultiplexer > &&sm)
Definition App.h:84
void handleScreenError() const
Definition App.cpp:145
Event queue.
Definition EventQueue.h:28
Write log to file.
Definition LogOutputters.h:57
Event queue interface.
Definition IEventQueue.h:29
Socket multiplexer.
Definition SocketMultiplexer.h:24
Platform independent screen.
Definition Screen.h:30
Definition DaemonApp.h:20