mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-08 18:26:01 +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
|
2003-08-21 Mikhail Khodjaiants
|
||||||
Removed the 'isAccessSpecifier' method from CVaraiable.
|
Removed the 'isAccessSpecifier' method from CVaraiable.
|
||||||
* CArrayPartitionValue.java
|
* 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
|
2003-08-26 Alain Magloire
|
||||||
|
|
||||||
This is still a hack: "info shared" the real solution
|
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.CommandFactory;
|
||||||
import org.eclipse.cdt.debug.mi.core.command.MIGDBSetAutoSolib;
|
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.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.MIGDBShow;
|
||||||
import org.eclipse.cdt.debug.mi.core.command.MIGDBShowSolibSearchPath;
|
import org.eclipse.cdt.debug.mi.core.command.MIGDBShowSolibSearchPath;
|
||||||
import org.eclipse.cdt.debug.mi.core.command.MIInfoSharedLibrary;
|
import org.eclipse.cdt.debug.mi.core.command.MIInfoSharedLibrary;
|
||||||
|
@ -168,6 +169,37 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
|
||||||
return false;
|
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[])
|
* @see org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager#setSharedLibraryPaths(String[])
|
||||||
*/
|
*/
|
||||||
|
@ -268,4 +300,19 @@ public class SharedLibraryManager extends SessionObject implements ICDISharedLib
|
||||||
autoupdate = update;
|
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);
|
return new MIGDBSetAutoSolib(set);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MIGDBSetStopOnSolibEvents createMIGDBSetStopOnSolibEvents(boolean set) {
|
||||||
|
return new MIGDBSetStopOnSolibEvents(set);
|
||||||
|
}
|
||||||
|
|
||||||
public MIGDBSetSolibSearchPath createMIGDBSetSolibSearchPath(String[] params) {
|
public MIGDBSetSolibSearchPath createMIGDBSetSolibSearchPath(String[] params) {
|
||||||
return new MIGDBSetSolibSearchPath(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