Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2003-02-03 22:26:53 +0000
committerAlain Magloire2003-02-03 22:26:53 +0000
commit64e3f488a4d169fe714b00a017b81fc98039ce38 (patch)
treef2878ff7412aed3c43ab04dbc9b1afb3387f1fb3
parent5ed8fb7f1452dc2a4f12e2c7803ece7b56c8dee3 (diff)
downloadorg.eclipse.cdt-64e3f488a4d169fe714b00a017b81fc98039ce38.tar.gz
org.eclipse.cdt-64e3f488a4d169fe714b00a017b81fc98039ce38.tar.xz
org.eclipse.cdt-64e3f488a4d169fe714b00a017b81fc98039ce38.zip
Implementation of signal().
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SignalManager.java17
1 files changed, 16 insertions, 1 deletions
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);
+ }
}
}

Back to the top