44 #if defined QPROCESS_DEBUG 48 #if !defined(Q_OS_WINCE) 57 static QByteArray qt_prettyDebug(
const char *
data,
int len,
int maxSize)
59 if (!data)
return "(null)";
61 for (
int i = 0; i < len && i < maxSize; ++i) {
66 case '\n': out +=
"\\n";
break;
67 case '\r': out +=
"\\r";
break;
68 case '\t': out +=
"\\t";
break;
97 #include <private/qwineventnotifier_p.h> 104 #ifndef QT_NO_PROCESS 156 for ( ; it !=
end; ++
it) {
172 for ( ; it !=
end; ++
it) {
191 for ( ; it !=
end; ++
it)
200 for ( ; it !=
end; ++
it)
206 for ( ; nit != nend; ++nit)
450 process->stdinChannel.type = Normal;
451 process->stdinChannel.process = 0;
455 process->stdoutChannel.type = Normal;
456 process->stdoutChannel.process = 0;
830 startupSocketNotifier = 0;
841 emittedReadyRead =
false;
842 emittedBytesWritten =
false;
845 processFinishedNotifier = 0;
851 symbianProcess = NULL;
852 processLaunched =
false;
860 if (stdinChannel.process)
861 stdinChannel.process->stdoutChannel.clear();
862 if (stdoutChannel.process)
863 stdoutChannel.process->stdinChannel.clear();
873 CloseHandle(pid->hThread);
874 CloseHandle(pid->hProcess);
878 if (processFinishedNotifier) {
879 processFinishedNotifier->setEnabled(
false);
881 processFinishedNotifier = 0;
889 if (stdoutChannel.notifier) {
890 stdoutChannel.notifier->setEnabled(
false);
892 stdoutChannel.notifier = 0;
894 if (stderrChannel.notifier) {
895 stderrChannel.notifier->setEnabled(
false);
897 stderrChannel.notifier = 0;
899 if (stdinChannel.notifier) {
900 stdinChannel.notifier->setEnabled(
false);
902 stdinChannel.notifier = 0;
904 if (startupSocketNotifier) {
905 startupSocketNotifier->setEnabled(
false);
907 startupSocketNotifier = 0;
910 deathNotifier->setEnabled(
false);
918 destroyPipe(stdoutChannel.pipe);
919 destroyPipe(stderrChannel.pipe);
920 destroyPipe(stdinChannel.pipe);
921 destroyPipe(childStartedPipe);
922 destroyPipe(deathPipe);
927 if (symbianProcess) {
928 symbianProcess->Close();
929 delete symbianProcess;
930 symbianProcess = NULL;
940 qint64 available = bytesAvailableFromStdout();
941 if (available == 0) {
942 if (stdoutChannel.notifier)
943 stdoutChannel.notifier->setEnabled(
false);
944 destroyPipe(stdoutChannel.pipe);
945 #if defined QPROCESS_DEBUG 946 qDebug(
"QProcessPrivate::canReadStandardOutput(), 0 bytes available");
951 char *
ptr = outputReadBuffer.reserve(available);
952 qint64 readBytes = readFromStdout(ptr, available);
953 if (readBytes == -1) {
955 q->setErrorString(
QProcess::tr(
"Error reading from process"));
956 emit q->error(processError);
957 #if defined QPROCESS_DEBUG 958 qDebug(
"QProcessPrivate::canReadStandardOutput(), failed to read from the process");
962 #if defined QPROCESS_DEBUG 963 qDebug(
"QProcessPrivate::canReadStandardOutput(), read %d bytes from the process' output",
967 if (stdoutChannel.closed) {
968 outputReadBuffer.chop(readBytes);
972 outputReadBuffer.chop(available - readBytes);
974 bool didRead =
false;
975 if (readBytes == 0) {
976 if (stdoutChannel.notifier)
977 stdoutChannel.notifier->setEnabled(
false);
980 if (!emittedReadyRead) {
981 emittedReadyRead =
true;
983 emittedReadyRead =
false;
986 emit q->readyReadStandardOutput();
995 qint64 available = bytesAvailableFromStderr();
996 if (available == 0) {
997 if (stderrChannel.notifier)
998 stderrChannel.notifier->setEnabled(
false);
999 destroyPipe(stderrChannel.pipe);
1003 char *
ptr = errorReadBuffer.reserve(available);
1004 qint64 readBytes = readFromStderr(ptr, available);
1005 if (readBytes == -1) {
1007 q->setErrorString(
QProcess::tr(
"Error reading from process"));
1008 emit q->error(processError);
1011 if (stderrChannel.closed) {
1012 errorReadBuffer.chop(readBytes);
1016 errorReadBuffer.chop(available - readBytes);
1018 bool didRead =
false;
1019 if (readBytes == 0) {
1020 if (stderrChannel.notifier)
1021 stderrChannel.notifier->setEnabled(
false);
1024 if (!emittedReadyRead) {
1025 emittedReadyRead =
true;
1026 emit q->readyRead();
1027 emittedReadyRead =
false;
1030 emit q->readyReadStandardError();
1039 if (stdinChannel.notifier)
1040 stdinChannel.notifier->setEnabled(
false);
1042 if (writeBuffer.isEmpty()) {
1043 #if defined QPROCESS_DEBUG 1044 qDebug(
"QProcessPrivate::canWrite(), not writing anything (empty write buffer).");
1049 qint64 written = writeToStdin(writeBuffer.readPointer(),
1050 writeBuffer.nextDataBlockSize());
1052 destroyPipe(stdinChannel.pipe);
1054 q->setErrorString(
QProcess::tr(
"Error writing to process"));
1055 emit q->error(processError);
1059 #if defined QPROCESS_DEBUG 1060 qDebug(
"QProcessPrivate::canWrite(), wrote %d bytes to the process input",
int(written));
1064 writeBuffer.free(written);
1065 if (!emittedBytesWritten) {
1066 emittedBytesWritten =
true;
1067 emit q->bytesWritten(written);
1068 emittedBytesWritten =
false;
1071 if (stdinChannel.notifier && !writeBuffer.isEmpty())
1072 stdinChannel.notifier->setEnabled(
true);
1073 if (writeBuffer.isEmpty() && stdinChannel.closed)
1074 closeWriteChannel();
1083 #if defined QPROCESS_DEBUG 1084 qDebug(
"QProcessPrivate::_q_processDied()");
1087 if (!waitForDeadChild())
1091 if (processFinishedNotifier)
1092 processFinishedNotifier->setEnabled(
false);
1099 if (!_q_startupNotification())
1115 _q_canReadStandardOutput();
1116 _q_canReadStandardError();
1124 emit q->error(processError);
1133 emit q->readChannelFinished();
1138 emit q->finished(exitCode);
1139 emit q->finished(exitCode, exitStatus);
1141 #if defined QPROCESS_DEBUG 1142 qDebug(
"QProcessPrivate::_q_processDied() process is dead");
1152 #if defined QPROCESS_DEBUG 1153 qDebug(
"QProcessPrivate::startupNotification()");
1156 if (startupSocketNotifier)
1157 startupSocketNotifier->setEnabled(
false);
1158 if (processStarted()) {
1166 emit q->error(processError);
1180 #if defined QPROCESS_DEBUG 1181 qDebug(
"QProcessPrivate::closeWriteChannel()");
1183 if (stdinChannel.notifier) {
1185 stdinChannel.notifier->setEnabled(
false);
1186 if (stdinChannel.notifier) {
1188 stdinChannel.notifier = 0;
1196 destroyPipe(stdinChannel.pipe);
1205 #if defined QPROCESS_DEBUG 1206 qDebug(
"QProcess::QProcess(%p)", parent);
1220 qWarning(
"QProcess: Destroyed while process is still running.");
1275 return d->processChannelMode;
1295 d->processChannelMode = mode;
1306 return d->processChannel;
1320 if (
d->processChannel != channel) {
1323 for (
int i = buf.
size() - 1; i >= 0; --i)
1324 d->outputReadBuffer.ungetChar(buf.
at(i));
1326 for (
int i = buf.
size() - 1; i >= 0; --i)
1327 d->errorReadBuffer.ungetChar(buf.
at(i));
1330 d->processChannel = channel;
1348 d->stdoutChannel.closed =
true;
1350 d->stderrChannel.closed =
true;
1374 d->stdinChannel.closed =
true;
1375 if (
d->writeBuffer.isEmpty())
1376 d->closeWriteChannel();
1436 d->stdoutChannel.append = mode ==
Append;
1466 d->stderrChannel.append = mode ==
Append;
1492 #if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) 1510 return d->nativeArguments;
1537 d->nativeArguments = arguments;
1554 return d->workingDirectory;
1574 d->workingDirectory = dir;
1600 ? &
d->errorReadBuffer
1601 : &
d->outputReadBuffer;
1632 ? &
d->errorReadBuffer
1633 : &
d->outputReadBuffer;
1650 ? &
d->errorReadBuffer
1651 : &
d->outputReadBuffer;
1652 #
if defined QPROCESS_DEBUG
1653 qDebug(
"QProcess::bytesAvailable() == %i (%s)", readBuffer->
size(),
1666 size +=
d->pipeWriterBytesToWrite();
1679 return d->processError;
1690 return d->processState;
1734 return d->environment.toStringList();
1778 return d->environment;
1804 return d->waitForStarted(msecs);
1821 return d->waitForReadyRead(msecs);
1841 return d->waitForBytesWritten(msecs);
1878 return d->waitForFinished(msecs);
1889 if (
d->processState == state)
1921 ? &
d->errorReadBuffer
1922 : &
d->outputReadBuffer;
1924 if (maxlen == 1 && !readBuffer->
isEmpty()) {
1925 int c = readBuffer->
getChar();
1927 #if defined QPROCESS_DEBUG 1928 qDebug(
"QProcess::readData(%p \"%s\", %d) == -1",
1929 data, qt_prettyDebug(data, 1, maxlen).constData(), 1);
1934 #if defined QPROCESS_DEBUG 1935 qDebug(
"QProcess::readData(%p \"%s\", %d) == 1",
1936 data, qt_prettyDebug(data, 1, maxlen).constData(), 1);
1943 while (readSoFar < bytesToRead) {
1945 int bytesToReadFromThisBlock = qMin<qint64>(bytesToRead - readSoFar,
1947 memcpy(data + readSoFar, ptr, bytesToReadFromThisBlock);
1948 readSoFar += bytesToReadFromThisBlock;
1949 readBuffer->
free(bytesToReadFromThisBlock);
1952 #if defined QPROCESS_DEBUG 1953 qDebug(
"QProcess::readData(%p \"%s\", %lld) == %lld",
1954 data, qt_prettyDebug(data, readSoFar, 16).constData(), maxlen, readSoFar);
1967 #if defined(Q_OS_WINCE) 1976 if (
d->stdinChannel.closed) {
1977 #if defined QPROCESS_DEBUG 1978 qDebug(
"QProcess::writeData(%p \"%s\", %lld) == 0 (write channel closing)",
1979 data, qt_prettyDebug(data, len, 16).constData(), len);
1985 d->writeBuffer.putChar(*data);
1986 if (
d->stdinChannel.notifier)
1987 d->stdinChannel.notifier->setEnabled(
true);
1988 #if defined QPROCESS_DEBUG 1989 qDebug(
"QProcess::writeData(%p \"%s\", %lld) == 1 (written to buffer)",
1990 data, qt_prettyDebug(data, len, 16).constData(), len);
1995 char *dest =
d->writeBuffer.reserve(len);
1996 memcpy(dest, data, len);
1997 if (
d->stdinChannel.notifier)
1998 d->stdinChannel.notifier->setEnabled(
true);
1999 #if defined QPROCESS_DEBUG 2000 qDebug(
"QProcess::writeData(%p \"%s\", %lld) == %lld (written to buffer)",
2001 data, qt_prettyDebug(data, len, 16).constData(), len, len);
2064 qWarning(
"QProcess::start: Process is already running");
2068 #if defined QPROCESS_DEBUG 2069 qDebug() <<
"QProcess::start(" << program <<
',' << arguments <<
',' << mode <<
')';
2072 d->outputReadBuffer.clear();
2073 d->errorReadBuffer.clear();
2085 d->stdinChannel.closed =
false;
2086 d->stdoutChannel.closed =
false;
2087 d->stderrChannel.closed =
false;
2089 d->program = program;
2090 d->arguments = arguments;
2095 d->errorString.clear();
2105 bool inQuote =
false;
2110 for (
int i = 0; i < program.
size(); ++i) {
2113 if (quoteCount == 3) {
2116 tmp += program.
at(i);
2121 if (quoteCount == 1)
2125 if (!inQuote && program.
at(i).
isSpace()) {
2131 tmp += program.
at(i);
2184 start(prog, args, mode);
2213 d->terminateProcess();
2261 return d->exitStatus;
2283 process.
start(program, arguments);
2303 process.
start(program);
2390 #if defined(Q_OS_MAC) && !defined(Q_OS_IOS) 2391 # include <crt_externs.h> 2392 # define environ (*_NSGetEnviron()) 2393 #elif defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN) || (defined(Q_OS_MAC) && defined(Q_OS_IOS)) 2394 static char *qt_empty_environ[] = { 0 };
2395 #define environ qt_empty_environ 2396 #elif !defined(Q_OS_WIN) 2428 while ((entry = environ[count++]))
2468 #include "moc_qprocess.cpp" 2470 #endif // QT_NO_PROCESS The QProcessEnvironment class holds the environment variables that can be passed to a program...
bool _q_canReadStandardOutput()
void remove(const QString &name)
Removes the environment variable identified by name from this QProcessEnvironment object...
static bool startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory, qint64 *pid=0)
Starts the program program with the arguments arguments in a new process, and detaches from it...
int exitCode() const
Returns the exit code of the last process that finished.
QString value(const QString &name, const QString &defaultValue=QString()) const
Searches this QProcessEnvironment object for a variable identified by name and returns its value...
virtual qint64 size() const
For open random-access devices, this function returns the size of the device.
ProcessChannelMode readChannelMode() const
Returns the read channel mode of the QProcess.
static QString fromLocal8Bit(const char *, int size=-1)
Returns a QString initialized with the first size characters of the 8-bit string str.
void setProcessState(ProcessState state)
Sets the current state of the QProcess to the state specified.
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
#define QT_END_NAMESPACE
This macro expands to.
ProcessError
This enum describes the different types of errors that are reported by QProcess.
virtual ~QProcess()
Destructs the QProcess object, i.e., killing the process.
void clear()
Removes all items from the hash.
int remove(const Key &key)
Removes all the items that have the key from the hash.
const QChar at(int i) const
Returns the character at the given index position in the string.
const char * readPointer() const
virtual void close()
First emits aboutToClose(), then closes the device and sets its OpenMode to NotOpen.
ProcessChannel
This enum describes the process channels used by the running process.
void closeReadChannel(ProcessChannel channel)
Closes the read channel channel.
void pipeFrom(QProcessPrivate *other)
QProcessEnvironment & operator=(const QProcessEnvironment &other)
Copies the contents of the other QProcessEnvironment object into this one.
#define it(className, varName)
~QProcessEnvironment()
Frees the resources associated with this QProcessEnvironment object.
QStringList keys() const
Returns a list containing all the variable names in this QProcessEnvironment object.
void pipeTo(QProcessPrivate *other)
void clear()
Removes all key=value pairs from this QProcessEnvironment object, making it empty.
void detach()
If the shared data object's reference count is greater than 1, this function creates a deep copy of t...
void aboutToClose()
This signal is emitted when the device is about to close.
int nextDataBlockSize() const
The QByteArray class provides an array of bytes.
int length() const
Returns the number of characters in this string.
QProcess::ProcessState state() const
Returns the current state of the process.
Value prepareValue(const QString &value) const
const_iterator ConstIterator
Qt-style synonym for QHash::const_iterator.
virtual ~QProcessPrivate()
const_iterator constBegin() const
Returns a const STL-style iterator pointing to the first item in the list.
ProcessState
This enum describes the different states of QProcess.
static bool startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory=QString(), qint64 *pid=0)
QString nameToString(const Key &name) const
#define QT_END_INCLUDE_NAMESPACE
This macro is equivalent to QT_BEGIN_NAMESPACE.
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
static QStringList systemEnvironment()
Returns the environment of the calling process as a list of key=value pairs.
QProcess(QObject *parent=0)
Constructs a QProcess object with the given parent.
qint64 readData(char *data, qint64 maxlen)
Reimplemented Function
void setEnvironment(const QStringList &environment)
Sets the environment that QProcess will use when starting a process to the environment specified whic...
QSharedDataPointer< QProcessEnvironmentPrivate > d
Key prepareName(const QString &name) const
The QString class provides a Unicode character string.
bool atEnd() const
Returns true if the process is not running, and no more data is available for reading; otherwise retu...
void closeWriteChannel()
Schedules the write channel of QProcess to be closed.
The QHash class is a template class that provides a hash-table-based dictionary.
void setWorkingDirectory(const QString &dir)
Sets the working directory to dir.
Q_PID pid() const
Returns the native process identifier for the running process, if available.
QString valueToString(const Value &value) const
The QObject class is the base class of all Qt objects.
qint64 bytesToWrite() const
Reimplemented Function
The QElapsedTimer class provides a fast way to calculate elapsed times.
virtual bool atEnd() const
Returns true if the current read and write position is at the end of the device (i.e.
bool contains(const Key &key) const
Returns true if the hash contains an item with the key; otherwise returns false.
qint64 elapsed() const
Returns the number of milliseconds since this QElapsedTimer was last started.
const T value(const Key &key) const
Returns the value associated with the key.
bool isSpace() const
Returns true if the character is a separator character (Separator_* categories); otherwise returns fa...
bool isEmpty() const
Returns true if this QProcessEnvironment object is empty: that is there are no key=value pairs set...
virtual void setupChildProcess()
This function is called in the child process context just before the program is executed on Unix or M...
bool isEmpty() const
Returns true if the list contains no items; otherwise returns false.
iterator insert(const Key &key, const T &value)
Inserts a new item with the key and a value of value.
static QProcessEnvironment fromList(const QStringList &list)
QProcessEnvironment processEnvironment() const
Returns the environment that QProcess will use when starting a process, or an empty object if no envi...
void setNativeArguments(const QString &arguments)
Sets additional native command line arguments for the program.
Q_CORE_EXPORT void qDebug(const char *,...)
void reserve(int size)
Attempts to allocate memory for at least size characters.
bool operator==(const QProcessEnvironment &other) const
Returns true if this and the other QProcessEnvironment objects are equal.
void terminate()
Attempts to terminate the process.
#define QT_BEGIN_NAMESPACE
This macro expands to.
bool waitForFinished(int msecs=30000)
Blocks until the process has finished and the finished() signal has been emitted, or until msecs mill...
QProcess::ExitStatus exitStatus() const
Returns the exit status of the last process that finished.
bool isOpen() const
Returns true if the device is open; otherwise returns false.
void truncate(int pos)
Truncates the string at the given position index.
void setStandardInputFile(const QString &fileName)
Redirects the process' standard input to the file indicated by fileName.
int size() const
Returns the number of characters in this string.
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
ProcessChannelMode
This enum describes the process channel modes of QProcess.
static int execute(const QString &program, const QStringList &arguments)
Starts the program program with the arguments arguments in a new process, waits for it to finish...
bool contains(const QString &name) const
Returns true if the environment variable of name name is found in this QProcessEnvironment object...
The QStringList class provides a list of strings.
bool isEmpty() const
Returns true if the hash contains no items; otherwise returns false.
Q_CORE_EXPORT void qWarning(const char *,...)
static const char * data(const QByteArray &arr)
bool _q_startupNotification()
const_iterator constFind(const Key &key) const
Returns an iterator pointing to the item with the key in the hash.
void removeFirst()
Removes the first item in the list.
QProcess::ProcessError error() const
Returns the type of error that occurred last.
void setStandardOutputProcess(QProcess *destination)
Pipes the standard output stream of this process to the destination process' standard input...
void setProcessEnvironment(const QProcessEnvironment &environment)
Sets the environment that QProcess will use when starting a process to the environment object...
void setReadChannelMode(ProcessChannelMode mode)
Use setProcessChannelMode(mode) instead.
const T * ptr(const T &t)
QStringList toList() const
void started()
This signal is emitted by QProcess when the process has started, and state() returns Running ...
bool canReadLine() const
This function operates on the current read channel.
void insert(const QProcessEnvironmentPrivate &other)
void setReadChannel(ProcessChannel channel)
Sets the current read channel of the QProcess to the given channel.
void close()
Closes all communication with the process and kills it.
QByteArray readAllStandardError()
Regardless of the current read channel, this function returns all data available from the standard er...
QStringList toStringList() const
Converts this QProcessEnvironment object into a list of strings, one for each environment variable th...
ProcessChannel readChannel() const
Returns the current read channel of the QProcess.
T & first()
Returns a reference to the first item in the list.
const_iterator constBegin() const
Returns a const STL-style iterator pointing to the first item in the hash.
QString mid(int position, int n=-1) const Q_REQUIRED_RESULT
Returns a string that contains n characters of this string, starting at the specified position index...
const_iterator constEnd() const
Returns a const STL-style iterator pointing to the imaginary item after the last item in the hash...
QString workingDirectory() const
If QProcess has been assigned a working directory, this function returns the working directory that t...
ExitStatus
This enum describes the different exit statuses of QProcess.
void setStandardOutputFile(const QString &fileName, OpenMode mode=Truncate)
Redirects the process' standard output to the file fileName.
QString & append(QChar c)
void qDeleteInEventHandler(QObject *o)
int size() const
Returns the number of items in the hash.
void setStandardErrorFile(const QString &fileName, OpenMode mode=Truncate)
Redirects the process' standard error to the file fileName.
void clear()
Clears the contents of the string and makes it empty.
const Key key(const T &value) const
Returns the first key mapped to value.
void setErrorString(const QString &errorString)
Sets the human readable description of the last device error that occurred to str.
const_iterator ConstIterator
Qt-style synonym for QList::const_iterator.
QString nativeArguments() const
Returns the additional native command line arguments for the program.
virtual qint64 bytesAvailable() const
Returns the number of bytes that are available for reading.
bool waitForReadyRead(int msecs=30000)
Reimplemented Function
if(void) toggleToolbarShown
QByteArray readAll()
Reads all available data from the device, and returns it as a QByteArray.
void kill()
Kills the current process, causing it to exit immediately.
int qsnprintf(char *str, size_t n, const char *fmt,...)
A portable snprintf() function, calls qvsnprintf.
int size() const
Returns the number of bytes in this byte array.
virtual bool open(OpenMode mode)
Opens the device and sets its OpenMode to mode.
QProcessEnvironment()
Creates a new QProcessEnvironment object.
#define QT_BEGIN_INCLUDE_NAMESPACE
This macro is equivalent to QT_END_NAMESPACE.
void start(const QString &program, const QStringList &arguments, OpenMode mode=ReadWrite)
Starts the given program in a new process, if none is already running, passing the command line argum...
bool _q_canReadStandardError()
void setProcessChannelMode(ProcessChannelMode mode)
Sets the channel mode of the QProcess standard output and standard error channels to the mode specifi...
void stateChanged(QProcess::ProcessState state)
This signal is emitted whenever the state of QProcess changes.
qint64 bytesAvailable() const
Reimplemented Function
QByteArray readAllStandardOutput()
Regardless of the current read channel, this function returns all data available from the standard ou...
virtual bool canReadLine() const
Returns true if a complete line of data can be read from the device; otherwise returns false...
bool waitForBytesWritten(int msecs=30000)
Reimplemented Function
bool waitForStarted(int msecs=30000)
Blocks until the process has started and the started() signal has been emitted, or until msecs millis...
char at(int i) const
Returns the character at index position i in the byte array.
QStringList environment() const
Returns the environment that QProcess will use when starting a process, or an empty QStringList if no...
ProcessChannelMode processChannelMode() const
Returns the channel mode of the QProcess standard output and standard error channels.
static const KeyPair *const end
The QIODevice class is the base interface class of all I/O devices in Qt.
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
static QString fileName(const QString &fileUrl)
void start()
Starts this timer.
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
static QStringList parseCombinedArgString(const QString &program)
qint64 writeData(const char *data, qint64 len)
Reimplemented Function
The QProcess class is used to start external programs and to communicate with them.
void insert(const QString &name, const QString &value)
Inserts the environment variable of name name and contents value into this QProcessEnvironment object...
void reserve(int size)
Reserve space for alloc elements.
bool isSequential() const
Reimplemented Function
const_iterator constEnd() const
Returns a const STL-style iterator pointing to the imaginary item after the last item in the list...