blob: 7626196cea6cdcb8bed27439519cf3133f6cfcfe [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Kichwa Coders Ltd and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Jonah Graham (Kichwa Coders) - initial API and implementation to Add support for gdb's "set substitute-path" (Bug 472765)
*******************************************************************************/
package org.eclipse.cdt.dsf.gdb.service;
import org.eclipse.cdt.debug.core.sourcelookup.MappingSourceContainer;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.debug.service.ISourceLookup;
/**
* Extension to the {@link ISourceLookup} service that allows GDB backend to
* handle the path mapping source container type -
* {@link MappingSourceContainer} - on the GDB side using GDB's
* "set substitute-path" mechanism.
*
* @since 5.0
*/
public interface IGDBSourceLookup extends ISourceLookup {
/**
* Initialise the source substitutions on the GDB backend (aka do the
* initial "set substitute-path"s)
*
* @param sourceLookupCtx
* @param rm
*/
void initializeSourceSubstitutions(ISourceLookupDMContext sourceLookupCtx, RequestMonitor rm);
/**
* Update the source substitutions on the GDB backend (aka modify the
* "set substitute-path"s)
*
* @param sourceLookupCtx
* @param rm
* with the result set to True if a change was made
*/
void sourceContainersChanged(ISourceLookupDMContext sourceLookupCtx, DataRequestMonitor<Boolean> rm);
}