/******************************************************************************* * Copyright (c) 2010 Ericsson and others. * 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: * Marc-Andre Laperle - Added support for Mac OS (separate factory) * - fix for bug 265483 * Ericsson - Added a field for the specific Mac OS version scheme *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.service.macos; import org.eclipse.cdt.dsf.debug.service.IProcesses; import org.eclipse.cdt.dsf.debug.service.IRunControl; import org.eclipse.cdt.dsf.debug.service.command.ICommandControl; import org.eclipse.cdt.dsf.gdb.service.GdbDebugServicesFactory; import org.eclipse.cdt.dsf.gdb.service.command.GDBControl; import org.eclipse.cdt.dsf.service.DsfSession; import org.eclipse.debug.core.ILaunchConfiguration; /** @since 3.0 */ public class MacOSGdbDebugServicesFactory extends GdbDebugServicesFactory { // Mac OS has it's own version of GDB, which does not follow the standard GDB version // We have to be careful not to compare that specific version number scheme with the // FSF GDB version scheme. // Use this variable when needing to differentiate between different Mac OS GDBs @SuppressWarnings("unused") private final String fAppleVersion; public MacOSGdbDebugServicesFactory(String gdbVersion, String appleVersion) { super(gdbVersion); fAppleVersion = appleVersion; } @Override protected ICommandControl createCommandControl(DsfSession session, ILaunchConfiguration config) { return new GDBControl(session, config, new MacOSCommandFactory()); } @Override protected IRunControl createRunControlService(DsfSession session) { return new MacOSGDBRunControl(session); } @Override protected IProcesses createProcessesService(DsfSession session) { return new MacOSGDBProcesses(session); } }