mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Support for ICDISignal change events.
This commit is contained in:
parent
dd5938fd96
commit
93eb330d2c
2 changed files with 32 additions and 3 deletions
|
@ -52,6 +52,7 @@ import org.eclipse.cdt.debug.mi.core.event.MIRunningEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MISharedLibChangedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MISharedLibChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MISharedLibCreatedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MISharedLibCreatedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MISharedLibUnloadedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MISharedLibUnloadedEvent;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.event.MISignalChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIStoppedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIStoppedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIThreadCreatedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIThreadCreatedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIThreadExitEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIThreadExitEvent;
|
||||||
|
@ -115,12 +116,25 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
|
||||||
// Something change we do not know what
|
// Something change we do not know what
|
||||||
// Let the breakpoint manager handle it with an update().
|
// Let the breakpoint manager handle it with an update().
|
||||||
try {
|
try {
|
||||||
((BreakpointManager)(session.getBreakpointManager())).update();
|
session.getBreakpointManager().update();
|
||||||
} catch (CDIException e) {
|
} catch (CDIException e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (miEvent instanceof MISharedLibChangedEvent) {
|
} else if (miEvent instanceof MISharedLibChangedEvent) {
|
||||||
cdiList.add(new ChangedEvent(session, (MISharedLibChangedEvent)miEvent));
|
cdiList.add(new ChangedEvent(session, (MISharedLibChangedEvent)miEvent));
|
||||||
|
} else if (miEvent instanceof MISignalChangedEvent) {
|
||||||
|
MISignalChangedEvent sig = (MISignalChangedEvent)miEvent;
|
||||||
|
String name = sig.getName();
|
||||||
|
if (name == null || name.length() == 0) {
|
||||||
|
// Something change we do not know what
|
||||||
|
// Let the signal manager handle it with an update().
|
||||||
|
try {
|
||||||
|
session.getSignalManager().update();
|
||||||
|
} catch (CDIException e) {
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cdiList.add(new ChangedEvent(session, sig));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (miEvent instanceof MIDestroyedEvent) {
|
} else if (miEvent instanceof MIDestroyedEvent) {
|
||||||
if (miEvent instanceof MIThreadExitEvent) {
|
if (miEvent instanceof MIThreadExitEvent) {
|
||||||
|
@ -139,7 +153,7 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
|
||||||
// Something was deleted we do not know what
|
// Something was deleted we do not know what
|
||||||
// Let the breakpoint manager handle it with an update().
|
// Let the breakpoint manager handle it with an update().
|
||||||
try {
|
try {
|
||||||
((BreakpointManager)(session.getBreakpointManager())).update();
|
session.getBreakpointManager().update();
|
||||||
} catch (CDIException e) {
|
} catch (CDIException e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,7 +169,7 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
|
||||||
// Something created we do not know what
|
// Something created we do not know what
|
||||||
// Let the breakpoint manager handle it with an update().
|
// Let the breakpoint manager handle it with an update().
|
||||||
try {
|
try {
|
||||||
((BreakpointManager)(session.getBreakpointManager())).update();
|
session.getBreakpointManager().update();
|
||||||
} catch (CDIException e) {
|
} catch (CDIException e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,11 +9,13 @@ import org.eclipse.cdt.debug.core.cdi.event.ICDIChangedEvent;
|
||||||
import org.eclipse.cdt.debug.core.cdi.model.ICDIBreakpoint;
|
import org.eclipse.cdt.debug.core.cdi.model.ICDIBreakpoint;
|
||||||
import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
|
import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
|
||||||
import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary;
|
import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary;
|
||||||
|
import org.eclipse.cdt.debug.core.cdi.model.ICDISignal;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.BreakpointManager;
|
import org.eclipse.cdt.debug.mi.core.cdi.BreakpointManager;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.ExpressionManager;
|
import org.eclipse.cdt.debug.mi.core.cdi.ExpressionManager;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.RegisterManager;
|
import org.eclipse.cdt.debug.mi.core.cdi.RegisterManager;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.Session;
|
import org.eclipse.cdt.debug.mi.core.cdi.Session;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.SharedLibraryManager;
|
import org.eclipse.cdt.debug.mi.core.cdi.SharedLibraryManager;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.cdi.SignalManager;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.VariableManager;
|
import org.eclipse.cdt.debug.mi.core.cdi.VariableManager;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.model.CObject;
|
import org.eclipse.cdt.debug.mi.core.cdi.model.CObject;
|
||||||
import org.eclipse.cdt.debug.mi.core.cdi.model.Expression;
|
import org.eclipse.cdt.debug.mi.core.cdi.model.Expression;
|
||||||
|
@ -22,6 +24,7 @@ import org.eclipse.cdt.debug.mi.core.cdi.model.Variable;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIBreakpointChangedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIBreakpointChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIRegisterChangedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIRegisterChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MISharedLibChangedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MISharedLibChangedEvent;
|
||||||
|
import org.eclipse.cdt.debug.mi.core.event.MISignalChangedEvent;
|
||||||
import org.eclipse.cdt.debug.mi.core.event.MIVarChangedEvent;
|
import org.eclipse.cdt.debug.mi.core.event.MIVarChangedEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -89,6 +92,18 @@ public class ChangedEvent implements ICDIChangedEvent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ChangedEvent(Session s, MISignalChangedEvent sig) {
|
||||||
|
session = s;
|
||||||
|
SignalManager mgr = (SignalManager)session.getSignalManager();
|
||||||
|
String name = sig.getName();
|
||||||
|
ICDISignal signal = mgr.getSignal(name);
|
||||||
|
if (signal != null) {
|
||||||
|
source = signal;
|
||||||
|
} else {
|
||||||
|
source = new CObject(session.getCurrentTarget());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ChangedEvent(Session s, ICDIObject src) {
|
public ChangedEvent(Session s, ICDIObject src) {
|
||||||
session = s;
|
session = s;
|
||||||
source = src;
|
source = src;
|
||||||
|
|
Loading…
Add table
Reference in a new issue