/******************************************************************************* * Copyright (c) 2012-2015 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.annotation.Nonnull; /** * The client for service to debug java application. * * @author Vitaly Parfonov */ public interface DebuggerServiceClient { /** * Attach debugger. * * @param host * @param port * @param callback */ void connect(@Nonnull String host, int port, @Nonnull AsyncRequestCallback<DebuggerInfo> callback); /** * Disconnect debugger. * * @param id * @param callback */ void disconnect(@Nonnull String id, @Nonnull AsyncRequestCallback<Void> callback); /** * Adds breakpoint. * * @param id * @param breakPoint * @param callback */ void addBreakpoint(@Nonnull String id, @Nonnull BreakPoint breakPoint, @Nonnull AsyncRequestCallback<Void> callback); /** * Returns list of breakpoints. * * @param id * @param callback */ void getAllBreakpoints(@Nonnull String id, @Nonnull AsyncRequestCallback<String> callback); /** * Deletes breakpoint. * * @param id * @param breakPoint * @param callback */ void deleteBreakpoint(@Nonnull String id, @Nonnull BreakPoint breakPoint, @Nonnull AsyncRequestCallback<Void> callback); /** * Remove all breakpoints. * * @param id * @param callback */ void deleteAllBreakpoints(@Nonnull String id, @Nonnull AsyncRequestCallback<String> callback); /** * Checks event. * * @param id * @param callback */ void checkEvents(@Nonnull String id, @Nonnull AsyncRequestCallback<DebuggerEventList> callback); /** * Get dump of fields and local variable of current stack frame. * * @param id * @param callback */ void getStackFrameDump(@Nonnull String id, @Nonnull AsyncRequestCallback<StackFrameDump> callback); /** * Resume process. * * @param id * @param callback */ void resume(@Nonnull String id, @Nonnull AsyncRequestCallback<Void> callback); /** * Returns value of a variable. * * @param id * @param var * @param callback */ void getValue(@Nonnull String id, @Nonnull Variable var, @Nonnull AsyncRequestCallback<Value> callback); /** * Sets value of a variable. * * @param id * @param request * @param callback */ void setValue(@Nonnull String id, @Nonnull UpdateVariableRequest request, @Nonnull AsyncRequestCallback<Void> callback); /** * Do step into. * * @param id * @param callback */ void stepInto(@Nonnull String id, @Nonnull AsyncRequestCallback<Void> callback); /** * Do step over. * * @param id * @param callback */ void stepOver(@Nonnull String id, @Nonnull AsyncRequestCallback<Void> callback); /** * Do step return. * * @param id * @param callback */ void stepReturn(@Nonnull String id, @Nonnull AsyncRequestCallback<Void> callback); /** * Evaluate an expression. * * @param id * @param expression * @param callback */ void evaluateExpression(@Nonnull String id, @Nonnull String expression, @Nonnull AsyncRequestCallback<String> callback); }