1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Moving shared library features from mi to CDI.

Added new methods to ICDISharedLibraryManager:
- isAutoLoadSymbols
- isStopOnSolibEvents
- setAutoLoadSymbols
- setStopOnSolibEvents
- supportsAutoLoadSymbols
	- supportsStopOnSolibEvents
This commit is contained in:
Mikhail Khodjaiants 2003-08-29 20:50:45 +00:00
parent 1711ab27d9
commit ae82c8efca
5 changed files with 93 additions and 0 deletions

View file

@ -1,3 +1,14 @@
2003-08-29 Mikhail Khodjaiants
Moving shared library features from mi to CDI.
Added new methods to ICDISharedLibraryManager:
- isAutoLoadSymbols
- isStopOnSolibEvents
- setAutoLoadSymbols
- setStopOnSolibEvents
- supportsAutoLoadSymbols
- supportsStopOnSolibEvents
* ICDISharedLibraryManager.java
2003-08-21 Mikhail Khodjaiants
Removed the 'isAccessSpecifier' method from CVaraiable.
* CArrayPartitionValue.java

View file

@ -1,3 +1,14 @@
2003-08-29 Mikhail Khodjaiants
Added new command - 'set stop-on-solib-events'.
* src/org/eclipse/cdt/debug/mi/core/command/MIGDBSetStopOnSolibEvents.java
* src/org/eclipse/cdt/debug/mi/core/command/CommandFactory.java
Implementation of the new methods added to the 'ICDISharedLibraryManager' interface.
* src/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java
2003-08-26 Alain Magloire
This is still a hack: "info shared" the real solution

View file

@ -19,6 +19,7 @@ import org.eclipse.cdt.debug.mi.core.cdi.model.SharedLibrary;
import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
import org.eclipse.cdt.debug.mi.core.command.MIGDBSetAutoSolib;
import org.eclipse.cdt.debug.mi.core.command.MIGDBSetSolibSearchPath;
import org.eclipse.cdt.debug.mi.core.command.MIGDBSetStopOnSolibEvents;
import org.eclipse.cdt.debug.mi.core.command.MIGDBShow;
import org.eclipse.cdt.debug.mi.core.command.MIGDBShowSolibSearchPath;
import org.eclipse.cdt.debug.mi.core.command.MIInfoSharedLibrary;
@ -168,6 +169,37 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
return false;
}
public void setStopOnSolibEvents(boolean set) throws CDIException {
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
MIGDBSetStopOnSolibEvents stop = factory.createMIGDBSetStopOnSolibEvents(set);
try {
mi.postCommand(stop);
stop.getMIInfo();
} catch (MIException e) {
throw new MI2CDIException(e);
}
}
public boolean isStopOnSolibEvents() throws CDIException {
Session session = (Session)getSession();
MISession mi = session.getMISession();
CommandFactory factory = mi.getCommandFactory();
MIGDBShow show = factory.createMIGDBShow(new String[]{"stop-on-solib-events"});
try {
mi.postCommand(show);
MIGDBShowInfo info = show.getMIGDBShowInfo();
String value = info.getValue();
if (value != null) {
return value.equalsIgnoreCase("1");
}
} catch (MIException e) {
throw new MI2CDIException(e);
}
return false;
}
/**
* @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#setSharedLibraryPaths(String[])
*/
@ -268,4 +300,19 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
autoupdate = update;
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#supportsAutoLoadSymbols()
*/
public boolean supportsAutoLoadSymbols()
{
return true;
}
/* (non-Javadoc)
* @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#supportsStopOnSolibEvents()
*/
public boolean supportsStopOnSolibEvents()
{
return true;
}
}

View file

@ -181,6 +181,10 @@ public class CommandFactory {
return new MIGDBSetAutoSolib(set);
}
public MIGDBSetStopOnSolibEvents createMIGDBSetStopOnSolibEvents(boolean set) {
return new MIGDBSetStopOnSolibEvents(set);
}
public MIGDBSetSolibSearchPath createMIGDBSetSolibSearchPath(String[] params) {
return new MIGDBSetSolibSearchPath(params);
}

View file

@ -0,0 +1,20 @@
/*
*(c) Copyright QNX Software Systems Ltd. 2002.
* All Rights Reserved.
*
*/
package org.eclipse.cdt.debug.mi.core.command;
/**
*
* -gdb-set stop-on-solib-events
*
* Set an internal GDB variable.
*
*/
public class MIGDBSetStopOnSolibEvents extends MIGDBSet {
public MIGDBSetStopOnSolibEvents(boolean isSet) {
super(new String[] {"stop-on-solib-events", (isSet) ? "1" : "0"});
}
}