From 9d443b5a7ab3ee9fef726b35f56f33a7e483cc0c Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Tue, 11 Feb 2003 19:16:30 +0000 Subject: [PATCH] The 'load symbols' actions support in ICSharedLibraryManager. --- debug/org.eclipse.cdt.debug.core/ChangeLog | 5 ++ .../debug/core/ICSharedLibraryManager.java | 5 ++ .../internal/core/CSharedLibraryManager.java | 48 +++++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 4cec0ddc23c..7c809a8659c 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,8 @@ +2003-02-11 Mikhail Khodjaiants + The 'load symbols' actions support in ICSharedLibraryManager. + * ICSharedLibraryManager.java + * CSharedLibraryManager.java + 2003-02-10 Mikhail Khodjaiants Support of update ('Refresh', 'Auto-Refresh) actions. * ICUpdateManager.java: new diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICSharedLibraryManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICSharedLibraryManager.java index c7335ec1f3b..115ca78aaca 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICSharedLibraryManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICSharedLibraryManager.java @@ -7,6 +7,7 @@ package org.eclipse.cdt.debug.core; import org.eclipse.cdt.debug.core.model.ICSharedLibrary; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.debug.core.DebugException; /** * Enter type comment. @@ -17,5 +18,9 @@ public interface ICSharedLibraryManager extends ICUpdateManager, IAdaptable { ICSharedLibrary[] getSharedLibraries(); + void loadSymbolsForAll() throws DebugException; + + void loadSymbols( ICSharedLibrary[] libraries ) throws DebugException; + void dispose(); } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java index b97ed813de1..52bcd5355a1 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java @@ -13,6 +13,7 @@ import org.eclipse.cdt.debug.core.ICUpdateManager; import org.eclipse.cdt.debug.core.cdi.CDIException; import org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager; import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary; +import org.eclipse.cdt.debug.core.model.ICDebugTarget; import org.eclipse.cdt.debug.core.model.ICSharedLibrary; import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; import org.eclipse.cdt.debug.internal.core.model.CSharedLibrary; @@ -118,6 +119,10 @@ public class CSharedLibraryManager implements ICSharedLibraryManager { return fDebugTarget; } + if ( adapter.equals( ICDebugTarget.class ) ) + { + return fDebugTarget; + } return null; } @@ -204,4 +209,47 @@ public class CSharedLibraryManager implements ICSharedLibraryManager } return false; } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICSharedLibraryManager#loadSymbols(org.eclipse.cdt.debug.core.model.ICSharedLibrary) + */ + public void loadSymbols( ICSharedLibrary[] libraries ) throws DebugException + { + ICDISharedLibraryManager slm = getCDIManager(); + if ( slm != null ) + { + ArrayList cdiLibs = new ArrayList( libraries.length ); + for ( int i = 0; i < libraries.length; ++i ) + { + cdiLibs.add( ((CSharedLibrary)libraries[i]).getCDISharedLibrary() ); + } + try + { + slm.loadSymbols( (ICDISharedLibrary[])cdiLibs.toArray( new ICDISharedLibrary[cdiLibs.size()] ) ); + } + catch( CDIException e ) + { + ((CDebugTarget)getDebugTarget()).targetRequestFailed( e.toString(), null ); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICSharedLibraryManager#loadSymbolsForAll() + */ + public void loadSymbolsForAll() throws DebugException + { + ICDISharedLibraryManager slm = getCDIManager(); + if ( slm != null ) + { + try + { + slm.loadSymbols(); + } + catch( CDIException e ) + { + ((CDebugTarget)getDebugTarget()).targetRequestFailed( e.toString(), null ); + } + } + } }