1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00

CSignalManager no longer extends CUpdateManager.

This commit is contained in:
Mikhail Khodjaiants 2004-11-04 15:56:16 +00:00
parent 3b2143318d
commit 1896936755
2 changed files with 54 additions and 68 deletions

View file

@ -1,3 +1,7 @@
2004-11-04 Mikhail Khodjaiants
CSignalManager no longer extends CUpdateManager.
* CSignalManager.java
2004-11-03 Mikhail Khodjaiants
New implementation of expressions.
Large arrays partitioning based on the framework model.

View file

@ -11,11 +11,9 @@
package org.eclipse.cdt.debug.internal.core;
import java.util.ArrayList;
import org.eclipse.cdt.debug.core.CDebugModel;
import org.eclipse.cdt.debug.core.ICSignalManager;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDIManager;
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;
@ -26,124 +24,108 @@ import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.DebugException;
/**
* Enter type comment.
*
* @since: Jan 31, 2003
* Manages the collection of signals on a debug target.
*/
public class CSignalManager extends CUpdateManager implements ICSignalManager
{
public class CSignalManager implements ICSignalManager {
/**
* The debug target associated with this manager.
*/
private CDebugTarget fDebugTarget;
/**
* The list of signals.
*/
private ICSignal[] fSignals = null;
/**
* The dispose flag.
*/
private boolean fIsDisposed = false;
/**
* Constructor for CSignalManager.
*/
public CSignalManager( CDebugTarget target )
{
super( target );
public CSignalManager( CDebugTarget target ) {
fDebugTarget = target;
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.ICSignalManager#getSignals()
*/
public ICSignal[] getSignals() throws DebugException
{
if ( !isDisposed() && fSignals == null )
{
try
{
public ICSignal[] getSignals() throws DebugException {
if ( !isDisposed() && fSignals == null ) {
try {
ICDISignal[] cdiSignals = getDebugTarget().getCDITarget().getSignals();
ArrayList list = new ArrayList( cdiSignals.length );
for ( int i = 0; i < cdiSignals.length; ++i )
{
for( int i = 0; i < cdiSignals.length; ++i ) {
list.add( new CSignal( getDebugTarget(), cdiSignals[i] ) );
}
fSignals = (ICSignal[])list.toArray( new ICSignal[list.size()] );
}
catch( CDIException e )
{
catch( CDIException e ) {
throwDebugException( e.getMessage(), DebugException.TARGET_REQUEST_FAILED, e );
}
}
return ( fSignals != null ) ? fSignals : new ICSignal[0];
return (fSignals != null) ? fSignals : new ICSignal[0];
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.ICSignalManager#dispose()
* @see org.eclipse.cdt.debug.internal.core.CUpdateManager#dispose()
*/
public void dispose()
{
public void dispose() {
if ( fSignals != null )
for ( int i = 0; i < fSignals.length; ++i )
{
((CSignal)fSignals[i]).dispose();
}
for( int i = 0; i < fSignals.length; ++i ) {
((CSignal)fSignals[i]).dispose();
}
fSignals = null;
fIsDisposed = true;
super.dispose();
}
/* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
public Object getAdapter( Class adapter )
{
if ( adapter.equals( ICSignalManager.class ) )
{
public Object getAdapter( Class adapter ) {
if ( adapter.equals( ICSignalManager.class ) ) {
return this;
}
if ( adapter.equals( CSignalManager.class ) )
{
if ( adapter.equals( CSignalManager.class ) ) {
return this;
}
return super.getAdapter( adapter );
return null;
}
public void signalChanged( ICDISignal cdiSignal )
{
public void signalChanged( ICDISignal cdiSignal ) {
CSignal signal = find( cdiSignal );
if ( signal != null )
{
if ( signal != null ) {
signal.fireChangeEvent( DebugEvent.STATE );
}
}
private CSignal find( ICDISignal cdiSignal )
{
try
{
private CSignal find( ICDISignal cdiSignal ) {
try {
ICSignal[] signals = getSignals();
for ( int i = 0; i < signals.length; ++i )
for( int i = 0; i < signals.length; ++i )
if ( signals[i].getName().equals( cdiSignal.getName() ) )
return (CSignal)signals[i];
}
catch( DebugException e )
{
catch( DebugException e ) {
}
return null;
}
protected boolean isDisposed()
{
protected boolean isDisposed() {
return fIsDisposed;
}
protected ICDIManager getCDIManager()
{
//FIXME: To change we no longer have a ICDISignalManager.
return null;
}
/**
* Throws a debug exception with the given message, error code, and underlying
* exception.
* Throws a debug exception with the given message, error code, and underlying exception.
*/
protected void throwDebugException( String message, int code, Throwable exception ) throws DebugException
{
throw new DebugException( new Status( IStatus.ERROR,
CDebugModel.getPluginIdentifier(),
code,
message,
exception ) );
protected void throwDebugException( String message, int code, Throwable exception ) throws DebugException {
throw new DebugException( new Status( IStatus.ERROR, CDebugModel.getPluginIdentifier(), code, message, exception ) );
}
}
protected CDebugTarget getDebugTarget() {
return fDebugTarget;
}
}