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:
parent
1711ab27d9
commit
ae82c8efca
5 changed files with 93 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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"});
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue