/******************************************************************************* * Copyright (c) 2012-2016 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.ext.java.jdi.client.debug; import org.eclipse.che.ide.ext.java.jdi.shared.BreakPoint; import org.eclipse.che.ide.ext.java.jdi.shared.DebuggerEventList; import org.eclipse.che.ide.ext.java.jdi.shared.DebuggerInfo; import org.eclipse.che.ide.ext.java.jdi.shared.StackFrameDump; import org.eclipse.che.ide.ext.java.jdi.shared.UpdateVariableRequest; import org.eclipse.che.ide.ext.java.jdi.shared.Value; import org.eclipse.che.ide.ext.java.jdi.shared.Variable; import org.eclipse.che.ide.rest.AsyncRequestCallback; import javax.validation.constraints.NotNull; /** * The client for service to debug java application. * * @author Vitaly Parfonov */ public interface DebuggerServiceClient { /** * Attach debugger. * * @param host * @param port * @param callback */ void connect(@NotNull String host, int port, @NotNull AsyncRequestCallback<DebuggerInfo> callback); /** * Disconnect debugger. * * @param id * @param callback */ void disconnect(@NotNull String id, @NotNull AsyncRequestCallback<Void> callback); /** * Adds breakpoint. * * @param id * @param breakPoint * @param callback */ void addBreakpoint(@NotNull String id, @NotNull BreakPoint breakPoint, @NotNull AsyncRequestCallback<Void> callback); /** * Returns list of breakpoints. * * @param id * @param callback */ void getAllBreakpoints(@NotNull String id, @NotNull AsyncRequestCallback<String> callback); /** * Deletes breakpoint. * * @param id * @param breakPoint * @param callback */ void deleteBreakpoint(@NotNull String id, @NotNull BreakPoint breakPoint, @NotNull AsyncRequestCallback<Void> callback); /** * Remove all breakpoints. * * @param id * @param callback */ void deleteAllBreakpoints(@NotNull String id, @NotNull AsyncRequestCallback<String> callback); /** * Checks event. * * @param id * @param callback */ void checkEvents(@NotNull String id, @NotNull AsyncRequestCallback<DebuggerEventList> callback); /** * Get dump of fields and local variable of current stack frame. * * @param id * @param callback */ void getStackFrameDump(@NotNull String id, @NotNull AsyncRequestCallback<StackFrameDump> callback); /** * Resume process. * * @param id * @param callback */ void resume(@NotNull String id, @NotNull AsyncRequestCallback<Void> callback); /** * Returns value of a variable. * * @param id * @param var * @param callback */ void getValue(@NotNull String id, @NotNull Variable var, @NotNull AsyncRequestCallback<Value> callback); /** * Sets value of a variable. * * @param id * @param request * @param callback */ void setValue(@NotNull String id, @NotNull UpdateVariableRequest request, @NotNull AsyncRequestCallback<Void> callback); /** * Do step into. * * @param id * @param callback */ void stepInto(@NotNull String id, @NotNull AsyncRequestCallback<Void> callback); /** * Do step over. * * @param id * @param callback */ void stepOver(@NotNull String id, @NotNull AsyncRequestCallback<Void> callback); /** * Do step return. * * @param id * @param callback */ void stepReturn(@NotNull String id, @NotNull AsyncRequestCallback<Void> callback); /** * Evaluate an expression. * * @param id * @param expression * @param callback */ void evaluateExpression(@NotNull String id, @NotNull String expression, @NotNull AsyncRequestCallback<String> callback); }