Qx v0.6.2
Qt Extensions Library
Loading...
Searching...
No Matches
qx-system.h
Go to the documentation of this file.
1#ifndef QX_SYSTEM_H
2#define QX_SYSTEM_H
3
4// Shared Lib Support
5#include "qx/core/qx_core_export.h"
6
7// Qt Includes
8#include <QString>
9#ifdef __linux
10#include <QSettings>
11#endif
12
13// Inner-component Includes
14#include "qx/core/qx-systemerror.h"
15
16namespace Qx
17{
18
19//-Namespace Structs-------------------------------------------------------------------------------------------------------------
21{
22 // TODO: Maybe move this and execute to a Process class/file
25};
26
27//-Namespace Functions-------------------------------------------------------------------------------------------------------------
28QX_CORE_EXPORT quint32 processId(QString processName);
29QX_CORE_EXPORT QString processName(quint32 processId);
30QX_CORE_EXPORT QList<quint32> processChildren(quint32 processId, bool recursive = false);
31
32QX_CORE_EXPORT bool processIsRunning(QString processName);
33QX_CORE_EXPORT bool processIsRunning(quint32 processId);
34
35QX_CORE_EXPORT SystemError cleanKillProcess(quint32 processId);
36QX_CORE_EXPORT SystemError forceKillProcess(quint32 processId);
37
38QX_CORE_EXPORT bool enforceSingleInstance(QString uniqueAppId);
39
40QX_CORE_EXPORT bool setDefaultProtocolHandler(const QString& scheme, const QString& name, const QString& path = {}, const QStringList& args = {});
41QX_CORE_EXPORT bool isDefaultProtocolHandler(const QString& scheme, const QString& path = {});
42QX_CORE_EXPORT bool removeDefaultProtocolHandler(const QString& scheme, const QString& path = {});
43
44QX_CORE_EXPORT ExecuteResult execute(const QString& program, const QStringList& arguments = {}, uint timeout = 2'000);
45QX_CORE_EXPORT ExecuteResult shellExecute(const QString& command, const QString& arguments = {}, uint timeout = 2'000);
46
47#ifdef __linux__
48// Temporary means to and end, will replace with full parser eventually
51#endif
52}
53
54#endif // QX_SYSTEM_H
The SystemError class encapsulates system generated errors as an Qx::Error interface compatible objec...
Definition qx-systemerror.h:22
The Qx namespace is the main namespace through which all non-global functionality of the Qx library i...
Definition qx-abstracterror.cpp:13
ExecuteResult shellExecute(const QString &command, const QString &arguments, uint timeout)
Definition qx-system.cpp:322
bool isDefaultProtocolHandler(const QString &scheme, const QString &path)
Definition qx-system.cpp:238
QSettings::Format xdgSettingsFormat()
Definition qx-system_linux.cpp:753
bool processIsRunning(QString processName)
Definition qx-system.cpp:110
QSettings::Format xdgDesktopSettingsFormat()
Definition qx-system_linux.cpp:771
SystemError forceKillProcess(quint32 processId)
Definition qx-system_linux.cpp:643
bool removeDefaultProtocolHandler(const QString &scheme, const QString &path)
Definition qx-system.cpp:267
QString processName(quint32 processId)
Definition qx-system_linux.cpp:597
bool enforceSingleInstance(QString uniqueAppId)
Definition qx-system_linux.cpp:649
QList< quint32 > processChildren(quint32 processId, bool recursive)
Definition qx-system_linux.cpp:607
ExecuteResult execute(const QString &program, const QStringList &arguments, uint timeout)
Definition qx-system.cpp:293
bool setDefaultProtocolHandler(const QString &scheme, const QString &name, const QString &path, const QStringList &args)
Definition qx-system.cpp:215
quint32 processId(QString processName)
Definition qx-system_linux.cpp:578
SystemError cleanKillProcess(quint32 processId)
Definition qx-system_linux.cpp:637
The ExecuteResult struct contains the result of a call to execute() or shellExecute().
Definition qx-system.h:21
int exitCode
Definition qx-system.h:23
QString output
Definition qx-system.h:24