diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-06-15 18:16:54 +0200 |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-06-15 18:16:54 +0200 |
commit | 17ff2c10d9aa77af31d3921e60f74250493b09c8 (patch) | |
tree | 46b9c9d9eb4e6535e2b4f951eaf15acce503379f | |
parent | a5756c3216ff67bca2bd232efbaac431ec9633a6 (diff) |
add debuggerengine error() signal
-rw-r--r-- | src/qscriptdebuggerengine.cpp | 21 | ||||
-rw-r--r-- | src/qscriptdebuggerengine.h | 12 | ||||
-rw-r--r-- | src/qscriptremotetargetdebugger.cpp | 1 |
3 files changed, 19 insertions, 15 deletions
diff --git a/src/qscriptdebuggerengine.cpp b/src/qscriptdebuggerengine.cpp index b08e3ad..54fabc1 100644 --- a/src/qscriptdebuggerengine.cpp +++ b/src/qscriptdebuggerengine.cpp @@ -39,14 +39,6 @@ class QScriptRemoteTargetDebuggerBackend : public QObject, { Q_OBJECT public: - enum Error { - NoError, - HostNotFoundError, - ConnectionRefusedError, - HandshakeError, - SocketError - }; - QScriptRemoteTargetDebuggerBackend(); ~QScriptRemoteTargetDebuggerBackend(); @@ -60,7 +52,7 @@ public: Q_SIGNALS: void connected(); void disconnected(); - void error(Error error); + void error(QScriptDebuggerEngine::Error error); protected: void event(const QScriptDebuggerEvent &event); @@ -145,7 +137,10 @@ void QScriptRemoteTargetDebuggerBackend::onSocketStateChanged(QAbstractSocket::S void QScriptRemoteTargetDebuggerBackend::onSocketError(QAbstractSocket::SocketError err) { - qDebug("%s", qPrintable(m_socket->errorString())); + if (err != QAbstractSocket::RemoteHostClosedError) { + qDebug("%s", qPrintable(m_socket->errorString())); + emit error(QScriptDebuggerEngine::SocketError); + } } void QScriptRemoteTargetDebuggerBackend::onNewConnection() @@ -187,7 +182,7 @@ void QScriptRemoteTargetDebuggerBackend::onReadyRead() // d->error = QScriptDebuggerEngine::HandshakeError; // d->errorString = QString::fromLatin1("Incorrect handshake data received"); m_state = UnconnectedState; - emit error(HandshakeError); + emit error(QScriptDebuggerEngine::HandshakeError); m_socket->close(); } } @@ -343,6 +338,8 @@ void QScriptDebuggerEngine::setTarget(QScriptEngine *target) this, SIGNAL(connected())); QObject::connect(m_backend, SIGNAL(disconnected()), this, SIGNAL(disconnected())); + QObject::connect(m_backend, SIGNAL(error(QScriptDebuggerEngine::Error)), + this, SIGNAL(error(QScriptDebuggerEngine::Error))); } m_backend->attachTo(target); } @@ -370,7 +367,7 @@ QScriptEngine *QScriptDebuggerEngine::target() const void QScriptDebuggerEngine::connectToDebugger(const QHostAddress &address, quint16 port) { if (!m_backend) { - qWarning("QScriptDebuggerEngine::connectToDebugger(): no engine has been set (call setEngine() first)"); + qWarning("QScriptDebuggerEngine::connectToDebugger(): no engine has been set (call setTarget() first)"); return; } m_backend->connectToDebugger(address, port); diff --git a/src/qscriptdebuggerengine.h b/src/qscriptdebuggerengine.h index e6655df..d93b814 100644 --- a/src/qscriptdebuggerengine.h +++ b/src/qscriptdebuggerengine.h @@ -32,8 +32,16 @@ class QScriptRemoteTargetDebuggerBackend; class QScriptDebuggerEngine : public QObject { -Q_OBJECT + Q_OBJECT public: + enum Error { + NoError, + HostNotFoundError, + ConnectionRefusedError, + HandshakeError, + SocketError + }; + QScriptDebuggerEngine(QObject *parent = 0); ~QScriptDebuggerEngine(); @@ -48,7 +56,7 @@ public: signals: void connected(); void disconnected(); -// void error(Error error); + void error(QScriptDebuggerEngine::Error error); private: QScriptRemoteTargetDebuggerBackend *m_backend; diff --git a/src/qscriptremotetargetdebugger.cpp b/src/qscriptremotetargetdebugger.cpp index 1f3980f..f6b26c5 100644 --- a/src/qscriptremotetargetdebugger.cpp +++ b/src/qscriptremotetargetdebugger.cpp @@ -134,7 +134,6 @@ void QScriptRemoteTargetDebuggerFrontend::onSocketError(QAbstractSocket::SocketE qDebug("%s", qPrintable(m_socket->errorString())); emit error(QScriptRemoteTargetDebugger::SocketError); } - } void QScriptRemoteTargetDebuggerFrontend::onReadyRead() |