org.eclipse.emf.mwe.internal.ui.debug.processing
Class DebugModelManager

java.lang.Object
  extended by org.eclipse.emf.mwe.internal.ui.debug.processing.DebugModelManager
All Implemented Interfaces:
org.eclipse.debug.core.IDebugEventSetListener

public class DebugModelManager
extends java.lang.Object
implements org.eclipse.debug.core.IDebugEventSetListener


Method Summary
 void adaptStackFrames(int cleanStackLevel, java.util.List<SyntaxElement> frames)
           
 void debuggerResumed()
           
 void debuggerStarted()
           
 void debuggerSuspended()
           
 void debuggerTerminated()
           
 DebugTarget getTarget()
           
 DebugThread getThread()
           
 void handleDebugEvents(org.eclipse.debug.core.DebugEvent[] events)
          This class is registered as IDebugEventSetListener to get TERMINATE information during an unnormal end of the runtime process (when no terminate communication-event is thrown)
In this case a DebugEvent.TERMINATE is fired with an IProcess source.
Another terminate event must be fired here with the DebugTarget source.
 void handleIOProblem(java.lang.Exception e)
           
 boolean hasRequiredHandlers()
           
static DebugModelManager newDebugModelManager(DebugTarget target, Connection connection)
           
 void requireRemoveBreakpoint(MWEBreakpoint bp)
           
 void requireResume()
           
 void requireSetBreakpoint(MWEBreakpoint bp)
           
 void requireStepInto()
           
 void requireStepOver()
           
 void requireStepReturn()
           
 java.util.List<VarValueTO> requireSubVariables(int varId)
           
 void requireSuspend()
           
 void requireTerminate()
           
 java.util.List<VarValueTO> requireVariables(int frameId)
           
 void setBreakpointHandler(BreakpointPluginHandler bpHandler)
           
 void setCmdHandler(CommandPluginHandler cmdHandler)
           
 void setVariablesHandler(VariablesPluginHandler varHandler)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newDebugModelManager

public static DebugModelManager newDebugModelManager(DebugTarget target,
                                                     Connection connection)
                                              throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

setCmdHandler

public void setCmdHandler(CommandPluginHandler cmdHandler)

setVariablesHandler

public void setVariablesHandler(VariablesPluginHandler varHandler)

setBreakpointHandler

public void setBreakpointHandler(BreakpointPluginHandler bpHandler)

hasRequiredHandlers

public boolean hasRequiredHandlers()

getTarget

public DebugTarget getTarget()

getThread

public DebugThread getThread()

debuggerStarted

public void debuggerStarted()
                     throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

adaptStackFrames

public void adaptStackFrames(int cleanStackLevel,
                             java.util.List<SyntaxElement> frames)

debuggerSuspended

public void debuggerSuspended()

debuggerResumed

public void debuggerResumed()

debuggerTerminated

public void debuggerTerminated()

handleDebugEvents

public void handleDebugEvents(org.eclipse.debug.core.DebugEvent[] events)
This class is registered as IDebugEventSetListener to get TERMINATE information during an unnormal end of the runtime process (when no terminate communication-event is thrown)
In this case a DebugEvent.TERMINATE is fired with an IProcess source.
Another terminate event must be fired here with the DebugTarget source. This is necessary because some listeners don't cleanup completely if there is only a terminate event with source = IProcess

Specified by:
handleDebugEvents in interface org.eclipse.debug.core.IDebugEventSetListener
See Also:
IDebugEventSetListener.handleDebugEvents(org.eclipse.debug.core.DebugEvent[])

requireStepInto

public void requireStepInto()
                     throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireStepOver

public void requireStepOver()
                     throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireStepReturn

public void requireStepReturn()
                       throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireResume

public void requireResume()
                   throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireSuspend

public void requireSuspend()
                    throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireTerminate

public void requireTerminate()
                      throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireVariables

public java.util.List<VarValueTO> requireVariables(int frameId)
                                            throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireSubVariables

public java.util.List<VarValueTO> requireSubVariables(int varId)
                                               throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireSetBreakpoint

public void requireSetBreakpoint(MWEBreakpoint bp)
                          throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

requireRemoveBreakpoint

public void requireRemoveBreakpoint(MWEBreakpoint bp)
                             throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException

handleIOProblem

public void handleIOProblem(java.lang.Exception e)
                     throws org.eclipse.debug.core.DebugException
Throws:
org.eclipse.debug.core.DebugException