Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] load sharedlibs

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.67
diff -u -r1.67 ChangeLog
--- ChangeLog	17 Jan 2003 18:33:58 -0000	1.67
+++ ChangeLog	17 Jan 2003 19:55:32 -0000
@@ -1,5 +1,10 @@
 2003-01-17 Alain Magloire
 
+	* src/.../mi/core/cdi/SharedLibraryManager.java (loadSymbols):
+	Call "shared libraryname".
+
+2003-01-17 Alain Magloire
+
 	The problem here is that we do not knw the state of
 	the session, for example "target remote server:port"
 	was issue, in this case the state is suspended.
Index: src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java,v
retrieving revision 1.2
diff -u -r1.2 SharedLibraryManager.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java	17 Jan 2003 16:28:47 -0000	1.2
+++ src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java	17 Jan 2003 19:55:33 -0000
@@ -15,12 +15,14 @@
 import org.eclipse.cdt.debug.mi.core.MIException;
 import org.eclipse.cdt.debug.mi.core.MISession;
 import org.eclipse.cdt.debug.mi.core.cdi.model.SharedLibrary;
+import org.eclipse.cdt.debug.mi.core.command.CLICommand;
 import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
 import org.eclipse.cdt.debug.mi.core.command.MIInfoSharedLibrary;
 import org.eclipse.cdt.debug.mi.core.event.MIEvent;
 import org.eclipse.cdt.debug.mi.core.event.MISharedLibChangedEvent;
 import org.eclipse.cdt.debug.mi.core.event.MISharedLibCreatedEvent;
 import org.eclipse.cdt.debug.mi.core.event.MISharedLibUnloadedEvent;
+import org.eclipse.cdt.debug.mi.core.output.MIInfo;
 import org.eclipse.cdt.debug.mi.core.output.MIInfoSharedLibraryInfo;
 import org.eclipse.cdt.debug.mi.core.output.MIShared;
 
@@ -39,7 +41,22 @@
 	}
 
 	public void loadSymbols(ICDISharedLibrary slib) throws CDIException {
-		throw new CDIException("not implemented");
+		// FIXME: use the command factory for this so we can overload.
+		if (slib.areSymbolsLoaded()) {
+			return;
+		}
+		CSession s = getCSession();
+		CLICommand cmd = new CLICommand("shared " + slib.getFileName());
+		try {
+			s.getMISession().postCommand(cmd);
+			MIInfo info = cmd.getMIInfo();
+			if (info == null) {
+				throw new CDIException("No answer");
+			}
+		} catch (MIException e) {
+			throw new MI2CDIException(e);
+		}
+		update();
 	}
 
 	public void update() throws CDIException {



Back to the top