From 46e1e64e8520b9136c7d6e3c728758625a5c6749 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Wed, 4 Sep 2002 20:14:39 +0000 Subject: [PATCH] Allow to set search source paths --- .../cdt/debug/core/cdi/ICDISession.java | 6 ++++++ .../cdt/debug/mi/core/cdi/CSession.java | 19 +++++++++++++++++++ .../debug/mi/core/command/CommandFactory.java | 4 ++-- .../core/command/MIEnvironmentDirectory.java | 4 ++-- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/ICDISession.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/ICDISession.java index f9807385fc4..a83e9106e98 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/ICDISession.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/ICDISession.java @@ -109,4 +109,10 @@ public interface ICDISession { * @exception CDIException on failure. Reasons include: */ void terminate() throws CDIException; + + /** + * Add directories to the begining of the search path + * for source files. + */ + void addSearchPaths(String[] dirs) throws CDIException; } diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CSession.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CSession.java index 9d46124efd7..c7c443be96b 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CSession.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CSession.java @@ -20,7 +20,12 @@ import org.eclipse.cdt.debug.core.cdi.ICDISessionObject; import org.eclipse.cdt.debug.core.cdi.ICDISignalManager; import org.eclipse.cdt.debug.core.cdi.ICDISourceManager; import org.eclipse.cdt.debug.core.cdi.model.ICDITarget; +import org.eclipse.cdt.debug.mi.core.MIException; import org.eclipse.cdt.debug.mi.core.MISession; +import org.eclipse.cdt.debug.mi.core.command.CommandFactory; +import org.eclipse.cdt.debug.mi.core.command.MIEnvironmentDirectory; +import org.eclipse.cdt.debug.mi.core.output.MIInfo; +import sun.security.krb5.internal.crypto.e; /** * @see org.eclipse.cdt.debug.core.cdi.ICDISession @@ -182,4 +187,18 @@ public class CSession implements ICDISession, ICDISessionObject { return this; } + /** + * @see org.eclipse.cdt.debug.core.cdi.ICDISession#addSearchPaths(String[]) + */ + public void addSearchPaths(String[] dirs) throws CDIException { + CommandFactory factory = session.getCommandFactory(); + MIEnvironmentDirectory dir = factory.createMIEnvironmentDirectory(dirs); + try { + session.postCommand(dir); + MIInfo info = dir.getMIInfo(); + } catch (MIException e) { + throw new CDIException(e.getMessage()); + } + } + } diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java index dfdbd3c47f0..ed060f4fccd 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java @@ -87,8 +87,8 @@ public class CommandFactory { return new MIEnvironmentCD(pathdir); } - public MIEnvironmentDirectory createMIEnvironmentDirectory(String pathdir) { - return new MIEnvironmentDirectory(pathdir); + public MIEnvironmentDirectory createMIEnvironmentDirectory(String[] pathdirs) { + return new MIEnvironmentDirectory(pathdirs); } public MIEnvironmentPath createMIEnvironmentPath(String[] paths) { diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java index 89c67aca43b..3b2a828f0b6 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/command/MIEnvironmentDirectory.java @@ -15,7 +15,7 @@ package org.eclipse.cdt.debug.mi.core.command; */ public class MIEnvironmentDirectory extends MICommand { - public MIEnvironmentDirectory(String path) { - super("-environment-directory", new String[]{path}); + public MIEnvironmentDirectory(String[] paths) { + super("-environment-directory", paths); } }