16#include <QFileSystemWatcher>
46 virtual bool fileExists(
const QString &path)
const;
49 QProcessProxy m_process;
76 void start(std::optional<ProcessMode> processMode = std::nullopt);
77 void stop(std::optional<ProcessMode> processMode = std::nullopt);
91 return m_secureSocketVersion;
99 return m_processState;
103 return m_connectionState;
109 m_address = address.trimmed();
126 void onProcessFinished(
int exitCode, QProcess::ExitStatus);
127 void onProcessReadyReadStandardOutput();
128 void onProcessReadyReadStandardError();
129 void daemonIpcClientConnected();
132 void startForegroundProcess(
const QString &app,
const QStringList &args);
133 void startProcessFromDaemon(
const QString &app,
const QStringList &args);
134 void stopForegroundProcess()
const;
135 void stopProcessFromDaemon();
136 bool addGenericArgs(QStringList &args,
const ProcessMode processMode)
const;
137 bool addServerArgs(QStringList &args, QString &app);
138 bool addClientArgs(QStringList &args, QString &app);
139 QString persistServerConfig()
const;
140 QString modeString()
const;
141 QString processModeString()
const;
144 void checkLogLine(
const QString &line);
145 bool checkSecureSocket(
const QString &line);
146 void handleLogLines(
const QString &text);
147 QString correctedInterface()
const;
148 QString correctedAddress()
const;
149 QString requestDaemonLogPath();
150 void persistLogDir()
const;
153 void checkOSXNotification(
const QString &line);
156 const IServerConfig &m_serverConfig;
157 std::shared_ptr<Deps> m_pDeps;
162 QMutex m_processMutex;
163 QString m_secureSocketVersion =
"";
164 std::optional<ProcessMode> m_lastProcessMode = std::nullopt;
166 int m_connections = 0;
168 FileTail *m_daemonFileTail =
nullptr;
static const struct sockaddr FAR * name
Definition ArchNetworkWinsock.cpp:27
CoreMode
Definition Settings.h:106
@ None
Definition Settings.h:107
ProcessMode
Definition Settings.h:99
void restart()
Definition CoreProcess.cpp:418
void processStateChanged(ProcessState state)
void stop(std::optional< ProcessMode > processMode=std::nullopt)
Definition CoreProcess.cpp:390
void secureSocket(bool enabled)
void extracted(QString &app, QStringList &args)
void retryDaemon()
Definition CoreProcess.cpp:716
void clearSettings()
Definition CoreProcess.cpp:700
void connectionStateChanged(ConnectionState state)
ProcessState processState() const
Definition CoreProcess.h:97
Settings::CoreMode mode() const
Definition CoreProcess.h:85
bool isStarted() const
Definition CoreProcess.h:93
QString secureSocketVersion() const
Definition CoreProcess.h:89
void start(std::optional< ProcessMode > processMode=std::nullopt)
Definition CoreProcess.cpp:331
CoreProcess(const IServerConfig &serverConfig, std::shared_ptr< Deps > deps=std::make_shared< Deps >())
Definition CoreProcess.cpp:137
void applyLogLevel()
Definition CoreProcess.cpp:224
ConnectionState
Definition CoreProcess.h:66
@ Connected
Definition CoreProcess.h:69
@ Listening
Definition CoreProcess.h:70
@ Connecting
Definition CoreProcess.h:68
@ Disconnected
Definition CoreProcess.h:67
void cleanup()
Definition CoreProcess.cpp:444
void daemonIpcClientConnectionFailed()
ProcessState
Definition CoreProcess.h:58
@ Stopping
Definition CoreProcess.h:61
@ Started
Definition CoreProcess.h:60
@ RetryPending
Definition CoreProcess.h:63
@ Stopped
Definition CoreProcess.h:62
@ Starting
Definition CoreProcess.h:59
void setMode(Settings::CoreMode mode)
Definition CoreProcess.h:111
ConnectionState connectionState() const
Definition CoreProcess.h:101
Error
Definition CoreProcess.h:53
@ StartFailed
Definition CoreProcess.h:55
@ AddressMissing
Definition CoreProcess.h:54
void logLine(const QString &line)
void setAddress(const QString &address)
Definition CoreProcess.h:107
Definition IServerConfig.h:17
Definition DaemonIpcClient.h:16
Definition QProcessProxy.h:15
Definition CoreProcess.h:25
Definition IServerConfig.h:14
Definition CoreProcess.h:39
virtual QProcessProxy & process()
Definition CoreProcess.h:41
virtual QString appPath(const QString &name) const
Definition CoreProcess.cpp:122
virtual bool fileExists(const QString &path) const
Definition CoreProcess.cpp:128