Index:
ChangeLog =================================================================== RCS
file: /home/tools/org.eclipse.cdt.debug.core/ChangeLog,v retrieving revision
1.118 diff -u -r1.118 ChangeLog --- ChangeLog 3 Feb 2003 21:34:49
-0000 1.118 +++ ChangeLog 3 Feb 2003 23:06:30 -0000 @@ -1,3 +1,8
@@ +2003-02-03 Mikhail Khodjaiants + Implementing the 'Signals'
view. + * CSignalManager.java: new + * CSignal.java:
new + 2003-02-03 Alain Magloire *
src/org/eclipse/cdt/debug/core/cdi/event/ICDIExitEvent.java: Index:
src/org/eclipse/cdt/debug/internal/core/CSignalManager.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java,v retrieving
revision 1.1 diff -u -r1.1 CSignalManager.java ---
src/org/eclipse/cdt/debug/internal/core/CSignalManager.java 31 Jan 2003
22:38:13 -0000 1.1 +++
src/org/eclipse/cdt/debug/internal/core/CSignalManager.java 3 Feb 2003
23:06:30 -0000 @@ -5,7 +5,10 @@ */ package
org.eclipse.cdt.debug.internal.core; +import
java.util.ArrayList; + import
org.eclipse.cdt.debug.core.ICSignalManager; +import
org.eclipse.cdt.debug.core.cdi.CDIException; import
org.eclipse.cdt.debug.core.cdi.model.ICDISignal; import
org.eclipse.cdt.debug.core.model.ICSignal; import
org.eclipse.cdt.debug.internal.core.model.CDebugTarget; @@ -23,6 +26,7
@@ { private CDebugTarget fDebugTarget =
null; private ICSignal[] fSignals = null; + private
boolean fIsDisposed = false; /** *
Constructor for CSignalManager. @@ -37,9 +41,21 @@
*/ public ICSignal[] getSignals() throws
DebugException { - if ( fSignals == null
) + if ( !isDisposed() && fSignals == null
) { - // load signals from
target + try + { + ICDISignal[]
cdiSignals =
((CDebugTarget)getDebugTarget()).getCDISession().getSignalManager().getSignals(); + ArrayList
list = new ArrayList( cdiSignals.length ); + for ( int
i = 0; i < cdiSignals.length; ++i
) + { + list.add( new
CSignal( (CDebugTarget)getDebugTarget(), cdiSignals[i] )
); + } + fSignals =
(ICSignal[])list.toArray( new ICSignal[list.size()]
); + } + catch( CDIException e
) + { + } } return
( fSignals != null ) ? fSignals : new ICSignal[0]; } @@ -55,6
+71,7
@@ fSignals[i].dispose(); } fSignals
= null; + fIsDisposed =
true; } /* (non-Javadoc) @@ -109,5
+126,10
@@ { } return
null; + } + + protected boolean
isDisposed() + { + return
fIsDisposed; } } Index:
src/org/eclipse/cdt/debug/internal/core/model/CSignal.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CSignal.java,v retrieving
revision 1.1 diff -u -r1.1 CSignal.java ---
src/org/eclipse/cdt/debug/internal/core/model/CSignal.java 31 Jan 2003
22:38:13 -0000 1.1 +++
src/org/eclipse/cdt/debug/internal/core/model/CSignal.java 3 Feb 2003
23:06:30 -0000 @@ -5,6 +5,7 @@ */ package
org.eclipse.cdt.debug.internal.core.model; +import
org.eclipse.cdt.debug.core.cdi.CDIException; import
org.eclipse.cdt.debug.core.cdi.event.ICDIEvent; import
org.eclipse.cdt.debug.core.cdi.event.ICDIEventListener; import
org.eclipse.cdt.debug.core.cdi.model.ICDISignal; @@ -36,7 +37,7
@@ */ public String
getDescription() { - return
""; + return
getCDISignal().getDescription(); } /*
(non-Javadoc) @@ -44,7 +45,7 @@ */ public
String getName() { - return
""; + return
getCDISignal().getName(); } /*
(non-Javadoc) @@ -52,7 +53,7 @@ */ public
boolean isPassEnabled() { - return
false; + return
!getCDISignal().isIgnore(); } /*
(non-Javadoc) @@ -60,7 +61,7 @@ */ public
boolean isStopEnabled() { - return
false; + return
getCDISignal().isStopSet(); } /*
(non-Javadoc) @@ -97,5 +98,18 @@ */ public
void signal() throws
DebugException { + try + { + getCDISignal().signal(); + } + catch(
CDIException e ) + { + targetRequestFailed(
e.getMessage(), null
); + } + } + + protected ICDISignal
getCDISignal() + { + return
fCDISignal; } }
|