1
0
Fork 0
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:
Alain Magloire 2003-02-01 23:12:41 +00:00
parent dd5938fd96
commit 93eb330d2c
2 changed files with 32 additions and 3 deletions

View file

@ -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.MISharedLibCreatedEvent;
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.MIThreadCreatedEvent;
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
// Let the breakpoint manager handle it with an update().
try {
((BreakpointManager)(session.getBreakpointManager())).update();
session.getBreakpointManager().update();
} catch (CDIException e) {
}
}
} else if (miEvent instanceof MISharedLibChangedEvent) {
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) {
if (miEvent instanceof MIThreadExitEvent) {
@ -139,7 +153,7 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
// Something was deleted we do not know what
// Let the breakpoint manager handle it with an update().
try {
((BreakpointManager)(session.getBreakpointManager())).update();
session.getBreakpointManager().update();
} catch (CDIException e) {
}
}
@ -155,7 +169,7 @@ public class EventManager extends SessionObject implements ICDIEventManager, Obs
// Something created we do not know what
// Let the breakpoint manager handle it with an update().
try {
((BreakpointManager)(session.getBreakpointManager())).update();
session.getBreakpointManager().update();
} catch (CDIException e) {
}
}

View file

@ -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.ICDIObject;
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.ExpressionManager;
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.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.model.CObject;
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.MIRegisterChangedEvent;
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;
/**
@ -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) {
session = s;
source = src;