summaryrefslogtreecommitdiff
path: root/src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp')
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp320
1 files changed, 320 insertions, 0 deletions
diff --git a/src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp b/src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp
new file mode 100644
index 0000000..0fa5283
--- /dev/null
+++ b/src/scripttools/debugging/qscriptdebuggercommandschedulerfrontend.cpp
@@ -0,0 +1,320 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtSCriptTools module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qscriptdebuggercommandschedulerfrontend_p.h"
+#include "qscriptdebuggercommandschedulerinterface_p.h"
+#include "qscriptdebuggercommand_p.h"
+
+QT_BEGIN_NAMESPACE
+
+QScriptDebuggerCommandSchedulerFrontend::QScriptDebuggerCommandSchedulerFrontend(
+ QScriptDebuggerCommandSchedulerInterface *scheduler,
+ QScriptDebuggerResponseHandlerInterface *responseHandler)
+ : m_scheduler(scheduler), m_responseHandler(responseHandler)
+{
+}
+
+QScriptDebuggerCommandSchedulerFrontend::~QScriptDebuggerCommandSchedulerFrontend()
+{
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleCommand(const QScriptDebuggerCommand &command)
+{
+ return m_scheduler->scheduleCommand(command, m_responseHandler);
+}
+
+/*!
+ Instructs the front-end to break at the next script statement, and
+ returns a unique identifier associated with this command.
+
+ When the next script statement is encountered, the client will be
+ notified, and the front-end will be ready to accept commands.
+
+ \sa scheduleContinue()
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleInterrupt()
+{
+ return scheduleCommand(QScriptDebuggerCommand::interruptCommand());
+}
+
+/*!
+ Instructs the front-end to continue evaluation, and returns a unique
+ identifier associated with this command.
+
+ \sa scheduleBreak()
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleContinue()
+{
+ return scheduleCommand(QScriptDebuggerCommand::continueCommand());
+}
+
+/*!
+ Instructs the front-end to step into the next script statement, and
+ returns a unique identifier associated with this command.
+
+ Evaluation will automatically be continued, and the client()'s event()
+ function will be called when the statement has been stepped into.
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleStepInto(int count)
+{
+ return scheduleCommand(QScriptDebuggerCommand::stepIntoCommand(count));
+}
+
+/*!
+ Instructs the front-end to step over the next script statement, and
+ returns a unique identifier associated with this command.
+
+ Evaluation will automatically be continued, and the client()'s event()
+ function will be called when the statement has been stepped over.
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleStepOver(int count)
+{
+ return scheduleCommand(QScriptDebuggerCommand::stepOverCommand(count));
+}
+
+/*!
+ Instructs the front-end to step out of the current script function, and
+ returns a unique identifier associated with this command.
+
+ Evaluation will automatically be continued, and the client()'s
+ event() function will be called when the script function has been
+ stepped out of.
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleStepOut()
+{
+ return scheduleCommand(QScriptDebuggerCommand::stepOutCommand());
+}
+
+/*!
+ Instructs the front-end to continue evaluation until the location
+ specified by the given \a fileName and \a lineNumber is reached.
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleRunToLocation(const QString &fileName, int lineNumber)
+{
+ return scheduleCommand(QScriptDebuggerCommand::runToLocationCommand(fileName, lineNumber));
+}
+
+/*!
+ Instructs the front-end to continue evaluation until the location
+ specified by the given \a scriptId and \a lineNumber is reached.
+*/
+int QScriptDebuggerCommandSchedulerFrontend::scheduleRunToLocation(qint64 scriptId, int lineNumber)
+{
+ return scheduleCommand(QScriptDebuggerCommand::runToLocationCommand(scriptId, lineNumber));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleForceReturn(int contextIndex, const QScriptDebuggerValue &value)
+{
+ return scheduleCommand(QScriptDebuggerCommand::forceReturnCommand(contextIndex, value));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleSetBreakpoint(const QString &fileName, int lineNumber)
+{
+ return scheduleCommand(QScriptDebuggerCommand::setBreakpointCommand(fileName, lineNumber));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleSetBreakpoint(const QScriptBreakpointData &data)
+{
+ return scheduleCommand(QScriptDebuggerCommand::setBreakpointCommand(data));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleDeleteBreakpoint(int id)
+{
+ return scheduleCommand(QScriptDebuggerCommand::deleteBreakpointCommand(id));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleDeleteAllBreakpoints()
+{
+ return scheduleCommand(QScriptDebuggerCommand::deleteAllBreakpointsCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetBreakpoints()
+{
+ return scheduleCommand(QScriptDebuggerCommand::getBreakpointsCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetBreakpointData(int id)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getBreakpointDataCommand(id));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleSetBreakpointData(int id, const QScriptBreakpointData &data)
+{
+ return scheduleCommand(QScriptDebuggerCommand::setBreakpointDataCommand(id, data));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetScripts()
+{
+ return scheduleCommand(QScriptDebuggerCommand::getScriptsCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetScriptData(qint64 id)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getScriptDataCommand(id));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleScriptsCheckpoint()
+{
+ return scheduleCommand(QScriptDebuggerCommand::scriptsCheckpointCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetScriptsDelta()
+{
+ return scheduleCommand(QScriptDebuggerCommand::getScriptsDeltaCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleResolveScript(const QString &fileName)
+{
+ return scheduleCommand(QScriptDebuggerCommand::resolveScriptCommand(fileName));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetBacktrace()
+{
+ return scheduleCommand(QScriptDebuggerCommand::getBacktraceCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetContextCount()
+{
+ return scheduleCommand(QScriptDebuggerCommand::getContextCountCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetContextState(int contextIndex)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getContextStateCommand(contextIndex));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetContextInfo(int contextIndex)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getContextInfoCommand(contextIndex));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetContextId(int contextIndex)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getContextIdCommand(contextIndex));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetThisObject(int contextIndex)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getThisObjectCommand(contextIndex));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetActivationObject(int contextIndex)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getActivationObjectCommand(contextIndex));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetScopeChain(int contextIndex)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getScopeChainCommand(contextIndex));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleContextsCheckpoint()
+{
+ return scheduleCommand(QScriptDebuggerCommand::contextsCheckpoint());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetPropertyExpressionValue(
+ int contextIndex, int lineNumber, const QStringList &path)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getPropertyExpressionValue(contextIndex, lineNumber, path));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetCompletions(int contextIndex, const QStringList &path)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getCompletions(contextIndex, path));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleEvaluate(int contextIndex,
+ const QString &program,
+ const QString &fileName,
+ int lineNumber)
+{
+ return scheduleCommand(QScriptDebuggerCommand::evaluateCommand(contextIndex, program, fileName, lineNumber));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleNewScriptValueIterator(const QScriptDebuggerValue &object)
+{
+ return scheduleCommand(QScriptDebuggerCommand::newScriptValueIteratorCommand(object));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleGetPropertiesByIterator(int id, int count)
+{
+ return scheduleCommand(QScriptDebuggerCommand::getPropertiesByIteratorCommand(id, count));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleDeleteScriptValueIterator(int id)
+{
+ return scheduleCommand(QScriptDebuggerCommand::deleteScriptValueIteratorCommand(id));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleScriptValueToString(const QScriptDebuggerValue &value)
+{
+ return scheduleCommand(QScriptDebuggerCommand::scriptValueToStringCommand(value));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleSetScriptValueProperty(const QScriptDebuggerValue &object,
+ const QString &name,
+ const QScriptDebuggerValue &value)
+{
+ return scheduleCommand(QScriptDebuggerCommand::setScriptValuePropertyCommand(object, name, value));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleClearExceptions()
+{
+ return scheduleCommand(QScriptDebuggerCommand::clearExceptionsCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleNewScriptObjectSnapshot()
+{
+ return scheduleCommand(QScriptDebuggerCommand::newScriptObjectSnapshotCommand());
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleScriptObjectSnapshotCapture(int id, const QScriptDebuggerValue &object)
+{
+ return scheduleCommand(QScriptDebuggerCommand::scriptObjectSnapshotCaptureCommand(id, object));
+}
+
+int QScriptDebuggerCommandSchedulerFrontend::scheduleDeleteScriptObjectSnapshot(int id)
+{
+ return scheduleCommand(QScriptDebuggerCommand::deleteScriptObjectSnapshotCommand(id));
+}
+
+QT_END_NAMESPACE