Interface IDebugCommandHandler

All Known Subinterfaces:
IDisconnectHandler, IDropToFrameHandler, IRestartHandler, IResumeHandler, IStepFiltersHandler, IStepIntoHandler, IStepOverHandler, IStepReturnHandler, ISuspendHandler, ITerminateHandler
All Known Implementing Classes:
AbstractDebugCommand

public interface IDebugCommandHandler
Handles a command for a debugger. Specific command handlers extend this interface.

The debug platform provides actions for common debug commands that operate against these handler interfaces. For example, the platform provides a terminate action that operates on the active debug context (selected element in the debug view). The action delegates to the active context's ITerminateHandler implementation to update its enabled state and execute the command. Debug model elements may implement supported command handler interfaces directly or provide them as adapters. The debug platform provides implementations of handlers for standard debug models.

Since:
3.3
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Determines whether this handler can execute on the elements specified in the given request by reporting enabled state to the request.
    boolean
    Executes this command on the elements specified in the given request reporting status to the given request and returns whether this handler should remain enabled while the command is executing.
  • Method Details

    • canExecute

      void canExecute(IEnabledStateRequest request)
      Determines whether this handler can execute on the elements specified in the given request by reporting enabled state to the request.

      Implementations must be non-blocking and may respond asynchronously to the given request. Errors can reported by setting an appropriate status on the given request. A request can be canceled by this handler or caller. A null status is equivalent to an OK status. When a request succeeds, fails, or is canceled, implementations must call done() on the given request.

      Clients are expected to poll the request (using isCanceled) periodically and abort at their earliest convenience calling done() on the request.

      Parameters:
      request - specifies elements to operate on and collects enabled state
    • execute

      boolean execute(IDebugCommandRequest request)
      Executes this command on the elements specified in the given request reporting status to the given request and returns whether this handler should remain enabled while the command is executing.

      Implementations must be non-blocking and may respond asynchronously to the given request. Errors can reported by setting an appropriate status on the given request. A request can be canceled by this handler or the caller. A null status is equivalent to an OK status. When a request is complete, has encountered an error, or canceled, implementations must call done() on the given collector.

      Handlers are expected to poll the request (using isCanceled) periodically and abort at their earliest convenience calling done() on the request.

      Parameters:
      request - specifies elements to operate on and collects execution status
      Returns:
      whether this handler remains enabled while command is executing