54 virtual bool loadConfig(
const std::string &pathname) = 0;
61 void bye(
int error)
override
87 m_socketMultiplexer = std::move(sm);
92 return m_socketMultiplexer.get();
97 assert(s_instance !=
nullptr);
114 static App *s_instance;
117 std::unique_ptr<SocketMultiplexer> m_socketMultiplexer;
122#define DAEMON_RUNNING(running_) ArchMiscWindows::daemonRunning(running_)
124#define DAEMON_RUNNING(running_)
127#if !defined(WINAPI_LIBEI) && WINAPI_XWINDOWS
129 "\nYour Linux distribution does not support Wayland EI (emulated input)\n"
130 "which is required for Wayland support. Please use a Linux distribution\n"
131 "that supports Wayland EI.\n";
#define ARCH_APP_UTIL
Definition AppUtilUnix.h:12
static constexpr auto s_helpNoWayland
Definition App.h:134
static int(PASCAL FAR *bind_winsock)(SOCKET s
XNoEiSupport()
Definition App.h:38
virtual bool loadConfig(const std::string &pathname)=0
IEventQueue * getEvents() const override
Definition App.h:65
virtual void loadConfig()=0
static App & instance()
Definition App.h:95
virtual const char * daemonInfo() const =0
SocketMultiplexer * getSocketMultiplexer() const
Definition App.h:90
App & operator=(App &&)=delete
void loggingFilterWarning() const
Definition App.cpp:122
App(IEventQueue *events, const QString &processName)
Definition App.cpp:42
void setupFileLogging()
Definition App.cpp:110
void setByeFunc(void(*bye)(int)) override
Definition App.h:57
void initApp() override
Definition App.cpp:132
int daemonMainLoop(int, const char **)
Definition App.cpp:104
int run()
Definition App.cpp:60
QString processName() const
Definition App.h:101
ARCH_APP_UTIL & appUtil()
Definition App.h:70
void runEventsLoop(const void *)
Definition App.cpp:159
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:81
~App() override
Definition App.cpp:55
void setSocketMultiplexer(std::unique_ptr< SocketMultiplexer > &&sm)
Definition App.h:85
void handleScreenError() const
Definition App.cpp:153
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 EventTypes.h:11