diff options
author | David Schulz <[email protected]> | 2013-10-14 15:23:15 +0200 |
---|---|---|
committer | Fawzi Mohamed <[email protected]> | 2013-10-14 15:55:48 +0200 |
commit | dd085030620022ac8f8e42d198d652a8b2424548 (patch) | |
tree | 0a7dfc24068ab9b92c30761fc21a2bc939fe8ab9 /src/plugins/ios/iostoolhandler.cpp | |
parent | bc9ac41e84c656771f1eaaa8bf76aa449807ceb4 (diff) |
Ios: Fix compilation on windows.
Change-Id: I90054041069d9aace6fc24f9094d46207b87e54e
Reviewed-by: Fawzi Mohamed <[email protected]>
Diffstat (limited to 'src/plugins/ios/iostoolhandler.cpp')
-rw-r--r-- | src/plugins/ios/iostoolhandler.cpp | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp index bc784aea744..07d759069ed 100644 --- a/src/plugins/ios/iostoolhandler.cpp +++ b/src/plugins/ios/iostoolhandler.cpp @@ -42,10 +42,14 @@ #include <QList> #include <QScopedArrayPointer> +#if defined(Q_OS_UNIX) #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #include <unistd.h> +#else +#include <WinSock2.h> +#endif #include <string.h> #include <fcntl.h> #include <errno.h> @@ -109,8 +113,9 @@ struct ParserState { case Item: case DeviceInfo: case Exit: - return false; + break; } + return false; } ParserState(Kind kind) : @@ -155,7 +160,7 @@ public: void didStartApp(const QString &bundlePath, const QString &deviceId, IosToolHandler::OpStatus status); void gotGdbserverSocket(const QString &bundlePath, const QString &deviceId, int gdbFd); - void gotInferiorPid(const QString &bundlePath, const QString &deviceId, pid_t pid); + void gotInferiorPid(const QString &bundlePath, const QString &deviceId, Q_PID pid); void deviceInfo(const QString &deviceId, const IosToolHandler::Dict &info); void appOutput(const QString &output); void errorMsg(const QString &msg); @@ -213,6 +218,7 @@ private: void addDeviceArguments(QStringList &args) const; }; +#if defined(Q_OS_UNIX) MyProcess::MyProcess(QObject *parent) : QProcess(parent) { if (socketpair(PF_UNIX, SOCK_STREAM, 0, &m_sockets[0]) == -1) { @@ -241,6 +247,25 @@ void MyProcess::setupChildProcess() } shutdown(1, SHUT_RD); // leave open for handshake when transferring fd? } +#else +MyProcess::MyProcess(QObject *parent) : QProcess(parent) +{ +} + +int MyProcess::processOutputSocket() +{ + return 0; +} + +QSocketNotifier *MyProcess::notifier() +{ + return m_notifier; +} + +void MyProcess::setupChildProcess() +{ +} +#endif IosToolHandlerPrivate::IosToolHandlerPrivate(IosToolHandler::DeviceType devType, Ios::IosToolHandler *q) : @@ -252,10 +277,12 @@ IosToolHandlerPrivate::IosToolHandlerPrivate(IosToolHandler::DeviceType devType, q, SLOT(subprocessFinished(int,QProcess::ExitStatus))); QObject::connect(&process, SIGNAL(error(QProcess::ProcessError)), q, SLOT(subprocessError(QProcess::ProcessError))); +#if defined(Q_OS_UNIX) int accessFlags = fcntl(process.processOutputSocket(), F_GETFL); if (fcntl(process.processOutputSocket(), F_SETFL, accessFlags | O_NONBLOCK) == -1) qDebug() << "IosToolHandler fcntl F_SETFL failed to set non blocking mode" << qt_error_string(errno); +#endif } bool IosToolHandlerPrivate::isRunning() @@ -278,7 +305,9 @@ void IosToolHandlerPrivate::stop() if (debugToolHandler) qDebug() << "IosToolHandlerPrivate::stop"; if (process.state() != QProcess::NotRunning) { +#if defined(Q_OS_UNIX) close(process.processOutputSocket()); +#endif process.close(); process.kill(); if (debugToolHandler) @@ -316,7 +345,7 @@ void IosToolHandlerPrivate::gotGdbserverSocket(const QString &bundlePath, const } void IosToolHandlerPrivate::gotInferiorPid(const QString &bundlePath, const QString &deviceId, - pid_t pid) + Q_PID pid) { emit q->gotInferiorPid(q, bundlePath, deviceId, pid); } @@ -409,6 +438,7 @@ void IosToolHandlerPrivate::subprocessFinished(int exitCode, QProcess::ExitStatu } } +#if defined(Q_OS_UNIX) #ifndef CMSG_SPACE size_t CMSG_SPACE(size_t len) { msghdr msg; @@ -474,6 +504,13 @@ int recv_fd(int socket) return -1; } +#else +int recv_fd(int socket) +{ + Q_UNUSED(socket); + return -1; +} +#endif int IosToolHandlerPrivate::checkForXmlEnd() { @@ -623,7 +660,7 @@ void IosToolHandlerPrivate::processXml() case ParserState::Exit: break; case ParserState::InferiorPid: - gotInferiorPid(bundlePath, deviceId, pid_t(p.chars.toInt())); + gotInferiorPid(bundlePath, deviceId, Q_PID(p.chars.toInt())); break; } break; @@ -684,7 +721,7 @@ void IosToolHandlerPrivate::subprocessHasData(int socket) iBegin = iEnd; } currentData.clear(); - ssize_t reallyRead = recv(socket, buffer.data() + iBegin, lookaheadSize, 0); + qptrdiff reallyRead = recv(socket, buffer.data() + iBegin, lookaheadSize, 0); if (reallyRead == 0) { // eof stop(); return; @@ -739,8 +776,8 @@ void IosToolHandlerPrivate::subprocessHasData(int socket) spacerStart -= iBegin; currentData = buffer.mid(0, lastXmlSize); // remove this?? } - ssize_t toRead = lookaheadSize - (iEnd - spacerStart); - ssize_t reallyRead = recv(socket, buffer.data() + iBegin, toRead, 0); + qptrdiff toRead = lookaheadSize - (iEnd - spacerStart); + qptrdiff reallyRead = recv(socket, buffer.data() + iBegin, toRead, 0); if (reallyRead == 0) { // eof stop(); return; |