8#include <QtCore/qiodevice.h>
9#include <QtCore/qstringlist.h>
10#include <QtCore/qshareddata.h>
16#if defined(Q_OS_WIN) || defined(Q_QDOC)
17struct _PROCESS_INFORMATION;
18struct _SECURITY_ATTRIBUTES;
20using Q_PROCESS_INFORMATION = _PROCESS_INFORMATION;
21using Q_SECURITY_ATTRIBUTES = _SECURITY_ATTRIBUTES;
22using Q_STARTUPINFO = _STARTUPINFOW;
46 {
return !(*
this ==
other); }
49 [[nodiscard]]
bool inheritsFromParent()
const;
66 friend class QProcessPrivate;
75class Q_CORE_EXPORT QProcess :
public QIODevice
102 enum ProcessChannelMode {
106 ForwardedOutputChannel,
107 ForwardedErrorChannel
109 Q_ENUM(ProcessChannelMode)
111 enum InputChannelMode {
113 ForwardedInputChannel
128 void startCommand(
const QString &command, OpenMode
mode = ReadWrite);
129 bool startDetached(
qint64 *pid =
nullptr);
130 bool open(OpenMode
mode = ReadWrite)
override;
138 ProcessChannelMode processChannelMode()
const;
139 void setProcessChannelMode(ProcessChannelMode
mode);
140 InputChannelMode inputChannelMode()
const;
141 void setInputChannelMode(InputChannelMode
mode);
143 ProcessChannel readChannel()
const;
144 void setReadChannel(ProcessChannel
channel);
146 void closeReadChannel(ProcessChannel
channel);
147 void closeWriteChannel();
152 void setStandardOutputProcess(QProcess *
destination);
154#if defined(Q_OS_WIN) || defined(Q_QDOC)
155 QString nativeArguments()
const;
157 struct CreateProcessArguments
159 const wchar_t *applicationName;
161 Q_SECURITY_ATTRIBUTES *processAttributes;
162 Q_SECURITY_ATTRIBUTES *threadAttributes;
166 const wchar_t *currentDirectory;
167 Q_STARTUPINFO *startupInfo;
168 Q_PROCESS_INFORMATION *processInformation;
170 typedef std::function<
void(CreateProcessArguments *)> CreateProcessArgumentModifier;
171 CreateProcessArgumentModifier createProcessArgumentsModifier()
const;
172 void setCreateProcessArgumentsModifier(CreateProcessArgumentModifier modifier);
174#if defined(Q_OS_UNIX) || defined(Q_QDOC)
175 std::function<
void(
void)> childProcessModifier()
const;
176 void setChildProcessModifier(
const std::function<
void(
void)> &modifier);
177 Q_NORETURN void failChildProcessModifier(
const char *description,
int error = 0) noexcept;
179 enum class UnixProcessFlag :
quint32 {
180 ResetSignalHandlers = 0x0001,
181 IgnoreSigPipe = 0x0002,
183 CloseFileDescriptors = 0x0010,
185 CreateNewSession = 0x0040,
186 DisconnectControllingTerminal = 0x0080,
190 struct UnixProcessParameters
192 UnixProcessFlags
flags = {};
193 int lowestFileDescriptorToClose = 0;
197 UnixProcessParameters unixProcessParameters() const noexcept;
198 void setUnixProcessParameters(const UnixProcessParameters &
params);
199 void setUnixProcessParameters(UnixProcessFlags flagsOnly);
202 QString workingDirectory()
const;
205 void setEnvironment(
const QStringList &environment);
210 QProcess::ProcessError
error()
const;
211 QProcess::ProcessState
state()
const;
215 bool waitForStarted(
int msecs = 30000);
217 bool waitForBytesWritten(
int msecs = 30000)
override;
223 int exitCode()
const;
224 QProcess::ExitStatus exitStatus()
const;
227 qint64 bytesToWrite()
const override;
228 bool isSequential()
const override;
229 void close()
override;
246 void started(QPrivateSignal);
247 void finished(
int exitCode, QProcess::ExitStatus exitStatus = NormalExit);
248 void errorOccurred(QProcess::ProcessError
error);
249 void stateChanged(QProcess::ProcessState
state, QPrivateSignal);
251 void readyReadStandardOutput(QPrivateSignal);
252 void readyReadStandardError(QPrivateSignal);
255 void setProcessState(ProcessState
state);
262 Q_DECLARE_PRIVATE(QProcess)
263 Q_DISABLE_COPY(QProcess)
265#if QT_VERSION < QT_VERSION_CHECK(7,0,0)
269 struct Use_setChildProcessModifier_Instead {};
271 virtual Use_setChildProcessModifier_Instead setupChildProcess();
IOBluetoothL2CAPChannel * channel
\inmodule QtCore \reentrant
Initialization
This enum contains a token that is used to disambiguate constructors.
bool operator!=(const QProcessEnvironment &other) const
Returns true if this and the other QProcessEnvironment objects are different.
void swap(QProcessEnvironment &other) noexcept
\macro QT_RESTRICTED_CAST_FROM_ASCII
cache insert(employee->id(), employee)
QList< QVariant > arguments
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char * destination
DBusConnection const char DBusError * error
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
static bool contains(const QJsonArray &haystack, unsigned needle)
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
#define QT_REQUIRE_CONFIG(feature)
#define QT_DEPRECATED_X(text)
static QStringList toStringList(const QJsonArray &jsonArray)
file open(QIODevice::ReadOnly)
settings remove("monkey")
device waitForReadyRead(deadline)
void writeData(const QByteArray &data)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent