-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdebuggeragent.cpp
More file actions
42 lines (31 loc) · 872 Bytes
/
debuggeragent.cpp
File metadata and controls
42 lines (31 loc) · 872 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <QTextStream>
#include "v8.h"
#include "debuggeragent.h"
void DebuggerAgentMessageHandler(const v8::Debug::Message& message) {
static_cast<DebuggerAgent*>(QThread::currentThread())->debuggerMessage(message);
}
DebuggerAgent::DebuggerAgent(QObject *parent) :
QThread(parent)
{
}
DebuggerAgent::~DebuggerAgent()
{
}
void DebuggerAgent::sendRequest(QString request)
{
// Send the request received to the debugger.
v8::Debug::SendCommand(request.utf16(), request.length());
}
void DebuggerAgent::run()
{
v8::Debug::SetMessageHandler2(DebuggerAgentMessageHandler);
exec();
}
void DebuggerAgent::debuggerMessage(const v8::Debug::Message& message)
{
v8::String::Value val(message.GetJSON());
QString result;
QTextStream in(&result, QIODevice::WriteOnly);
in << const_cast<uint16_t*>(*val);
emit response(result);
}