/** * */ package net.sourceforge.phpeclipse.xdebug.php.model; import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants; import org.eclipse.core.runtime.PlatformObject; import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.model.IDebugElement; import org.eclipse.debug.core.model.IDebugTarget; /** * @author Christian * */ public class XDebugElement extends PlatformObject implements IDebugElement { // containing target protected XDebugTarget fTarget; /** * Constructs a new debug element contained in the given * debug target. * * @param target debug target (PDA VM) */ public XDebugElement(XDebugTarget target) { fTarget = target; } public XDebugElement() { fTarget = null; } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier() */ public String getModelIdentifier() { return IXDebugConstants.ID_PHP_DEBUG_MODEL; } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget() */ public IDebugTarget getDebugTarget() { return fTarget; } public void setDebugTarget(XDebugTarget target) { fTarget=target; } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getLaunch() */ public ILaunch getLaunch() { return getDebugTarget().getLaunch(); } /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ public Object getAdapter(Class adapter) { if (adapter == IDebugElement.class) { return this; } return super.getAdapter(adapter); } protected void abort(String message, Throwable e) throws DebugException { /* Axel auskommentiert throw new DebugException(new Status(IStatus.ERROR, DebugExamplesPlugin.getDefault().getDescriptor().getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, e)); */ } /** * Fires a debug event * * @param event the event to be fired */ protected void fireEvent(DebugEvent event) { DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event}); } /** * Fires a CREATE event for this element. */ public void fireCreationEvent() { fireEvent(new DebugEvent(this, DebugEvent.CREATE)); } /** * Fires a RESUME event for this element with * the given detail. * * @param detail event detail code */ public void fireResumeEvent(int detail) { fireEvent(new DebugEvent(this, DebugEvent.RESUME, detail)); } /** * Fires a SUSPEND event for this element with * the given detail. * * @param detail event detail code */ public void fireSuspendEvent(int detail) { fireEvent(new DebugEvent(this, DebugEvent.SUSPEND, detail)); } /** * Fires a TERMINATE event for this element. */ protected void fireTerminateEvent() { fireEvent(new DebugEvent(this, DebugEvent.TERMINATE)); } }