summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-06-15 18:16:54 +0200
committerKent Hansen <khansen@trolltech.com>2009-06-15 18:16:54 +0200
commit17ff2c10d9aa77af31d3921e60f74250493b09c8 (patch)
tree46b9c9d9eb4e6535e2b4f951eaf15acce503379f
parenta5756c3216ff67bca2bd232efbaac431ec9633a6 (diff)
add debuggerengine error() signal
-rw-r--r--src/qscriptdebuggerengine.cpp21
-rw-r--r--src/qscriptdebuggerengine.h12
-rw-r--r--src/qscriptremotetargetdebugger.cpp1
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()