[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] DestroyedEvent for SharedLibraries
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.70
diff -u -r1.70 ChangeLog
--- ChangeLog 18 Jan 2003 00:37:13 -0000 1.70
+++ ChangeLog 18 Jan 2003 02:28:08 -0000
@@ -1,3 +1,11 @@
+2003-01-18 Alain Magloire
+
+ * src/.../mi/core/cdi/event/DestroyedEvent.java (DestroyedEvent):
+ Remove the deleted shared library from the list.
+ * src/.../mi/core/cdi/SharedLibraryManager.java (getUnloadedLibrary):
+ Get a shared library slated for unload.
+ (removeFromUnloadedList): Remove the library form the list.
+
2003-01-17 Alain Magloire
* src/.../mi/core/output/MIInfoSharedLibraryInfo.java (parseWinShared):
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.4
diff -u -r1.4 SharedLibraryManager.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java 17 Jan 2003 21:33:03 -0000 1.4
+++ src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java 18 Jan 2003 02:28:10 -0000
@@ -32,12 +32,12 @@
public class SharedLibraryManager extends SessionObject implements ICDISharedLibraryManager {
List sharedList;
- List delList;
+ List unloadedList;
public SharedLibraryManager (CSession session) {
super(session);
sharedList = new ArrayList(1);
- delList = new ArrayList(1);
+ unloadedList = new ArrayList(1);
}
public void update() throws CDIException {
@@ -83,7 +83,7 @@
if (!found) {
// Fire destroyed Events.
sharedList.remove(oldlibs[i]);
- delList.add(oldlibs[i]);
+ unloadedList.add(oldlibs[i]);
eventList.add(new MISharedLibUnloadedEvent(oldlibs[i].getFileName()));
}
}
@@ -112,6 +112,25 @@
}
}
return false;
+ }
+
+ public ICDISharedLibrary getUnloadedLibrary(String name) {
+ ICDISharedLibrary[] libs = (ICDISharedLibrary[])unloadedList.toArray(new ICDISharedLibrary[0]);
+ for (int i = 0; i < libs.length; i++) {
+ if (name.equals(libs[i].getFileName())) {
+ return libs[i];
+ }
+ }
+ return null;
+ }
+
+ public void removeFromUnloadedList(String name) {
+ ICDISharedLibrary[] libs = (ICDISharedLibrary[])unloadedList.toArray(new ICDISharedLibrary[0]);
+ for (int i = 0; i < libs.length; i++) {
+ if (name.equals(libs[i].getFileName())) {
+ unloadedList.remove(libs[i]);
+ }
+ }
}
public ICDISharedLibrary getSharedLibrary(String name) {
Index: src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java,v
retrieving revision 1.2
diff -u -r1.2 DestroyedEvent.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java 16 Jan 2003 16:19:47 -0000 1.2
+++ src/org/eclipse/cdt/debug/mi/core/cdi/event/DestroyedEvent.java 18 Jan 2003 02:28:10 -0000
@@ -60,8 +60,9 @@
session = s;
SharedLibraryManager mgr = (SharedLibraryManager)session.getSharedLibraryManager();
String name = slib.getName();
- ICDISharedLibrary lib = mgr.getSharedLibrary(name);
+ ICDISharedLibrary lib = mgr.getUnloadedLibrary(name);
if (lib != null) {
+ mgr.removeFromUnloadedList(name);
source = lib;
} else {
source = new CObject(session.getCTarget());