1 package net.sourceforge.phpeclipse.xdebug.core;
3 import net.sourceforge.phpeclipse.xdebug.php.model.XDebugStackFrame;
4 import net.sourceforge.phpeclipse.xdebug.php.model.XDebugThread;
6 import org.eclipse.core.runtime.IPath;
7 import org.eclipse.core.runtime.jobs.Job;
8 import org.eclipse.debug.core.DebugException;
9 import org.eclipse.debug.core.model.IBreakpoint;
10 import org.eclipse.debug.core.model.IStackFrame;
11 import org.eclipse.debug.core.model.IVariable;
13 import net.sourceforge.phpeclipse.xdebug.core.xdebug.ResponseListener.DebugResponse;
15 public interface IDebugConnection {
19 * @return true if debugger supports feature
21 DebugResponse featureGet(String featureName);
23 boolean featureSet(String featureName, String value);
25 DebugResponse sendRequestA(String command, String parameter);
29 * @param breakpoint breakpoint to set
30 * @throws DebugException
32 void addBreakpoint(IBreakpoint breakpoint, IPath filePath) throws DebugException;
36 * @param breakpoint breakpoint to remove
37 * @throws DebugException
39 void removeBreakpoint(IBreakpoint breakpoint) throws DebugException;
45 * @throws DebugException
47 IStackFrame[] getStackFrames(XDebugThread thread) throws DebugException;
50 * Single stepOver the interpreter.
52 * @throws DebugException if the request fails
54 void stepOver() throws DebugException;
57 * Single Stepinto the interpreter.
59 * @throws DebugException if the request fails
62 void stepInto() throws DebugException;
65 * Single stepOut the interpreter.
67 * @throws DebugException if the request fails
69 void stepOut() throws DebugException;
72 * Resume the debug process.
74 * @throws DebugException if the request fails
76 void run() throws DebugException;
79 * Stops the debug process.
81 * @throws DebugException if the request fails
83 void stop() throws DebugException;
90 * @param name variable name
91 * @param value value of the variable
92 * @return true if successfull
95 public boolean setVarValue(String name, String value);
97 boolean isInitialized();
100 * Get the SessionID of the current Connection.
102 * @throws DebugException if the request fails
104 String getSessionID();
106 void setResponseListerner(Job listener);
108 void startListener();
112 * @param level context-level
113 * @return the variables for the context
115 public IVariable[] getVariables(XDebugStackFrame frame ,int level);