/** * Copyright (c) 2015 Genuitec LLC. * 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: * Piotr Tomiak <piotr@genuitec.com> - initial API and implementation */ package tern.eclipse.ide.server.nodejs.core.debugger; import java.io.File; import org.eclipse.core.resources.IFile; import tern.TernException; import tern.server.nodejs.process.INodejsProcess; /** * Node.js debugger API to run/debug node application (ex : run/debug tern, * protractor, etc). * */ public interface INodejsDebuggerDelegate { /** * Returns true if the node debugger can support "run/debug" and false if it * supports only "run". * * @return true if the node debugger can support "run/debug" and false if it * supports only "run". */ boolean canSupportDebug(); /** * Returns true if the debugger is installed and false otherwise. * * @return true if the debugger is installed and false otherwise. */ boolean isInstalled(); /** * Create a node.js process which will start the given jsFile in the given * working directory by using the given node install. * * @param jsFile * JavaScript file to run/debug. * @param workingDir * the working directory to use to start the node process. * @param nodejsInstallPath * the node install path. * @return a node.js process which will start the given jsFile in the given * working directory by using the given node install. * @throws TernException */ INodejsProcess createProcess(IFile jsFile, File workingDir, File nodejsInstallPath) throws TernException; }