package net.sourceforge.phpdt.internal.launching;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;


public class PHPLaunchConfigurationDelegate implements ILaunchConfigurationDelegate {
	protected static final InterpreterRunner interpreterRunner = new InterpreterRunner();
//	protected static final DebuggerRunner debuggerRunner = new DebuggerRunner();

	public PHPLaunchConfigurationDelegate() {
		super();
	}

	/**
	 * @see ILaunchConfigurationDelegate#launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor)
	 */
	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
		if (PHPRuntime.getDefault().getSelectedInterpreter() == null)
			throw new CoreException(new Status(IStatus.ERROR, PHPLaunchingPlugin.PLUGIN_ID, IStatus.OK, "You must define an interpreter before running PHP.", null));
//		if (mode.equals("debug")) {
//			debuggerRunner.run(new InterpreterRunnerConfiguration(configuration), launch);
//		} else {
			interpreterRunner.run(new InterpreterRunnerConfiguration(configuration), launch);
//		}		
	}
}