Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
DaemonApp.h
Go to the documentation of this file.
1
/*
2
* Deskflow -- mouse and keyboard sharing utility
3
* SPDX-FileCopyrightText: (C) 2012 - 2025 Synergy App Ltd
4
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5
*/
6
7
#pragma once
8
9
#include <QObject>
10
#include <QThread>
11
12
class
Event
;
13
class
IEventQueue
;
14
class
FileLogOutputter
;
15
class
QLocalServer;
16
class
QCoreApplication;
17
18
namespace
deskflow::core::ipc
{
19
class
DaemonIpcServer;
20
}
21
22
#if defined(Q_OS_WIN)
23
class
MSWindowsWatchdog
;
24
#endif
25
26
extern
const
char
*
const
kLogFilename
;
27
28
class
DaemonApp
:
public
QObject
29
{
30
Q_OBJECT
31
32
public
:
33
explicit
DaemonApp
(
IEventQueue
&events);
34
~DaemonApp
()
override
;
35
36
void
run
(QThread &daemonThread);
37
void
setForeground
();
38
void
initLogging
();
39
void
connectIpcServer
(
const
deskflow::core::ipc::DaemonIpcServer
*ipcServer)
const
;
40
41
static
QString
logFilename
();
42
43
private
:
44
void
daemonize();
45
void
handleError(
const
char
*message);
46
int
mainLoop();
47
int
daemonLoop();
48
void
saveLogLevel(
const
QString &logLevel)
const
;
49
void
setConfigFile(
const
QString &configFile);
50
void
applyWatchdogCommand()
const
;
51
void
clearWatchdogCommand();
52
void
clearSettings();
53
54
static
void
showConsole();
55
56
#if defined(Q_OS_WIN)
57
std::unique_ptr<MSWindowsWatchdog> m_pWatchdog;
58
#endif
59
60
IEventQueue
&m_events;
61
FileLogOutputter
*m_pFileLogOutputter =
nullptr
;
62
deskflow::core::ipc::DaemonIpcServer
*m_ipcServer =
nullptr
;
63
QString m_configFile;
64
bool
m_foreground =
false
;
65
};
kLogFilename
const char *const kLogFilename
DaemonApp::logFilename
static QString logFilename()
Definition
DaemonApp.cpp:239
DaemonApp::initLogging
void initLogging()
Definition
DaemonApp.cpp:250
DaemonApp::~DaemonApp
~DaemonApp() override
DaemonApp::setForeground
void setForeground()
Definition
DaemonApp.cpp:244
DaemonApp::run
void run(QThread &daemonThread)
Definition
DaemonApp.cpp:145
DaemonApp::connectIpcServer
void connectIpcServer(const deskflow::core::ipc::DaemonIpcServer *ipcServer) const
Definition
DaemonApp.cpp:126
DaemonApp::DaemonApp
DaemonApp(IEventQueue &events)
Definition
DaemonApp.cpp:36
Event
Event.
Definition
Event.h:43
FileLogOutputter
Write log to file.
Definition
LogOutputters.h:57
IEventQueue
Event queue interface.
Definition
IEventQueue.h:29
MSWindowsWatchdog
Monitors and controls a core process on Windows, elevating if necessary.
Definition
MSWindowsWatchdog.h:29
deskflow::core::ipc::DaemonIpcServer
Definition
DaemonIpcServer.h:19
deskflow::core::ipc
Definition
DaemonApp.h:18
src
apps
deskflow-daemon
DaemonApp.h
Generated by
1.18.0