/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingtracker.listeners; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchListener; import edu.illinois.codingtracker.helpers.Debugger; import edu.illinois.codingtracker.helpers.Messages; /** * * @author Stas Negara * */ public class LaunchListener extends BasicListener implements ILaunchListener { public static void register() { DebugPlugin.getDefault().getLaunchManager().addLaunchListener(new LaunchListener()); } @Override public void launchAdded(ILaunch launch) { try { String launchMode= launch.getLaunchMode(); ILaunchConfiguration launchConfiguration= launch.getLaunchConfiguration(); String launchName= launchConfiguration.getName(); String application= launchConfiguration.getAttribute("application", ""); String product= launchConfiguration.getAttribute("product", ""); boolean useProduct= launchConfiguration.getAttribute("useProduct", false); operationRecorder.recordLaunchedApplication(launchMode, launchName, application, product, useProduct); } catch (CoreException e) { Debugger.logExceptionToErrorLog(e, Messages.Recorder_LaunchConfigurationException); } } @Override public void launchRemoved(ILaunch launch) { //do nothing } @Override public void launchChanged(ILaunch launch) { //do nothing } }