/********************************************************************** Copyright (c) 2000, 2002 IBM Corp. and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html Contributors: IBM Corporation - Initial implementation Vicente Fernando - www.alfersoft.com.ar **********************************************************************/ 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, null); } } }