Adapt IpcEngine to breakpoint handling changes

This commit is contained in:
Arvid Ephraim Picciani
2010-11-22 13:09:01 +01:00
parent 9be36be951
commit b2849c306f
4 changed files with 25 additions and 17 deletions

View File

@@ -274,27 +274,31 @@ void IPCEngineGuest::rpcCallback(quint64 f, QByteArray payload)
{ {
QDataStream s(payload); QDataStream s(payload);
SET_NATIVE_BYTE_ORDER(s); SET_NATIVE_BYTE_ORDER(s);
BreakpointId id;
BreakpointParameters d; BreakpointParameters d;
s >> id;
s >> d; s >> d;
addBreakpoint(d); addBreakpoint(id, d);
} }
break; break;
case IPCEngineHost::RemoveBreakpoint: case IPCEngineHost::RemoveBreakpoint:
{ {
QDataStream s(payload); QDataStream s(payload);
SET_NATIVE_BYTE_ORDER(s); SET_NATIVE_BYTE_ORDER(s);
quint64 token; BreakpointId id;
s >> token; s >> id;
removeBreakpoint(token); removeBreakpoint(id);
} }
break; break;
case IPCEngineHost::ChangeBreakpoint: case IPCEngineHost::ChangeBreakpoint:
{ {
QDataStream s(payload); QDataStream s(payload);
SET_NATIVE_BYTE_ORDER(s); SET_NATIVE_BYTE_ORDER(s);
BreakpointId id;
BreakpointParameters d; BreakpointParameters d;
s >> id;
s >> d; s >> d;
changeBreakpoint(d); changeBreakpoint(id, d);
} }
break; break;
case IPCEngineHost::RequestUpdateWatchData: case IPCEngineHost::RequestUpdateWatchData:

View File

@@ -74,9 +74,9 @@ public:
virtual void activateFrame(qint64 token) = 0; virtual void activateFrame(qint64 token) = 0;
virtual void selectThread(qint64 token) = 0; virtual void selectThread(qint64 token) = 0;
virtual void disassemble(quint64 pc) = 0; virtual void disassemble(quint64 pc) = 0;
virtual void addBreakpoint(const BreakpointParameters &bp) = 0; virtual void addBreakpoint(BreakpointId id, const BreakpointParameters &bp) = 0;
virtual void removeBreakpoint(quint64 id) = 0; virtual void removeBreakpoint(BreakpointId id) = 0;
virtual void changeBreakpoint(const BreakpointParameters &bp) = 0; virtual void changeBreakpoint(BreakpointId id, const BreakpointParameters &bp) = 0;
virtual void requestUpdateWatchData(const WatchData &data, virtual void requestUpdateWatchData(const WatchData &data,
const WatchUpdateFlags & flags = WatchUpdateFlags()) = 0; const WatchUpdateFlags & flags = WatchUpdateFlags()) = 0;

View File

@@ -241,20 +241,22 @@ void IPCEngineHost::fetchDisassembler(DisassemblerViewAgent *v)
rpcCall(Disassemble, p); rpcCall(Disassemble, p);
} }
void IPCEngineHost::insertBreakpoint(BreakpointId id)
void IPCEngineHost::addBreakpoint(const BreakpointParameters &bp)
{ {
breakHandler()->notifyBreakpointInsertProceeding(id);
QByteArray p; QByteArray p;
{ {
QDataStream s(&p, QIODevice::WriteOnly); QDataStream s(&p, QIODevice::WriteOnly);
SET_NATIVE_BYTE_ORDER(s); SET_NATIVE_BYTE_ORDER(s);
s << bp; s << id;
s << breakHandler()->breakpointData(id);
} }
rpcCall(AddBreakpoint, p); rpcCall(AddBreakpoint, p);
} }
void IPCEngineHost::removeBreakpoint(quint64 id) void IPCEngineHost::removeBreakpoint(BreakpointId id)
{ {
breakHandler()->notifyBreakpointRemoveProceeding(id);
QByteArray p; QByteArray p;
{ {
QDataStream s(&p, QIODevice::WriteOnly); QDataStream s(&p, QIODevice::WriteOnly);
@@ -264,13 +266,15 @@ void IPCEngineHost::removeBreakpoint(quint64 id)
rpcCall(RemoveBreakpoint, p); rpcCall(RemoveBreakpoint, p);
} }
void IPCEngineHost::changeBreakpoint(const BreakpointParameters &bp) void IPCEngineHost::changeBreakpoint(BreakpointId id)
{ {
breakHandler()->notifyBreakpointChangeProceeding(id);
QByteArray p; QByteArray p;
{ {
QDataStream s(&p, QIODevice::WriteOnly); QDataStream s(&p, QIODevice::WriteOnly);
SET_NATIVE_BYTE_ORDER(s); SET_NATIVE_BYTE_ORDER(s);
s << bp; s << id;
s << breakHandler()->breakpointData(id);
} }
rpcCall(RemoveBreakpoint, p); rpcCall(RemoveBreakpoint, p);
} }

View File

@@ -104,9 +104,9 @@ public:
void activateFrame(int index); void activateFrame(int index);
void selectThread(int index); void selectThread(int index);
void fetchDisassembler(DisassemblerViewAgent *); void fetchDisassembler(DisassemblerViewAgent *);
void addBreakpoint(const BreakpointParameters &bp); void insertBreakpoint(BreakpointId id);
void removeBreakpoint(quint64 id); void removeBreakpoint(BreakpointId id);
void changeBreakpoint(const BreakpointParameters &bp); void changeBreakpoint(BreakpointId id);
void updateWatchData(const WatchData &data, void updateWatchData(const WatchData &data,
const WatchUpdateFlags &flags = WatchUpdateFlags()); const WatchUpdateFlags &flags = WatchUpdateFlags());