blob: ed9815672f7d3262a35a5e3592b47698b43e83d2 [file] [log] [blame]
package org.eclipse.dltk.internal.debug.core.model;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.ISuspendResume;
import org.eclipse.debug.core.model.ITerminate;
import org.eclipse.dltk.dbgp.IDbgpThreadAcceptor;
import org.eclipse.dltk.debug.core.model.IScriptDebugThreadConfigurator;
import org.eclipse.dltk.debug.core.model.IScriptThread;
import org.eclipse.dltk.internal.debug.core.model.operations.DbgpDebugger;
public interface IScriptThreadManager extends IDbgpThreadAcceptor, ITerminate,
ISuspendResume {
// Listener
void addListener(IScriptThreadManagerListener listener);
void removeListener(IScriptThreadManagerListener listener);
// Thread management
boolean hasThreads();
IScriptThread[] getThreads();
void terminateThread(IScriptThread thread);
boolean isWaitingForThreads();
void sendTerminationRequest() throws DebugException;
public void refreshThreads();
/**
* Used to configure thread with additional DBGp features, etc.
*/
void configureThread(DbgpDebugger engine, ScriptThread scriptThread);
public void setScriptThreadConfigurator(
IScriptDebugThreadConfigurator configurator);
}