From 64e3f488a4d169fe714b00a017b81fc98039ce38 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Mon, 3 Feb 2003 22:26:53 +0000 Subject: [PATCH] Implementation of signal(). --- .../cdt/debug/mi/core/cdi/SignalManager.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java index 929734344c4..a7a3ea3a36e 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java @@ -18,8 +18,10 @@ import org.eclipse.cdt.debug.mi.core.cdi.model.Signal; import org.eclipse.cdt.debug.mi.core.command.CommandFactory; import org.eclipse.cdt.debug.mi.core.command.MIHandle; import org.eclipse.cdt.debug.mi.core.command.MIInfoSignals; +import org.eclipse.cdt.debug.mi.core.command.MISignal; import org.eclipse.cdt.debug.mi.core.event.MIEvent; import org.eclipse.cdt.debug.mi.core.event.MISignalChangedEvent; +import org.eclipse.cdt.debug.mi.core.output.MIInfo; import org.eclipse.cdt.debug.mi.core.output.MIInfoSignalsInfo; import org.eclipse.cdt.debug.mi.core.output.MISigHandle; @@ -201,7 +203,20 @@ public class SignalManager extends SessionObject implements ICDISignalManager { /** * Method signal. */ - public void signal() { + public void signal(ICDISignal sig) throws CDIException { + Session session = (Session)getSession(); + MISession mi = session.getMISession(); + CommandFactory factory = mi.getCommandFactory(); + MISignal signal = factory.createMISignal(sig.getName()); + try { + mi.postCommand(signal); + MIInfo info = signal.getMIInfo(); + if (info == null) { + throw new CDIException("No answer"); + } + } catch (MIException e) { + throw new MI2CDIException(e); + } } }