diff --git a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITargetConfiguration2.java b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITargetConfiguration2.java new file mode 100644 index 00000000000..30d75427443 --- /dev/null +++ b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITargetConfiguration2.java @@ -0,0 +1,37 @@ +package org.eclipse.cdt.debug.core.cdi.model; + +public interface ICDITargetConfiguration2 extends ICDITargetConfiguration { + + /** + * Returns whether this target supports thread control, namely whether it + * supports suspending/resuming threads individually. + * + * @return whether this target supports thread control, namely whether it + * supports suspending/resuming threads individually. + */ + boolean supportsThreadControl(); + + /** + * Returns whether this target supports passive variable updating. If so + * targets will not be actively sending variable value change notification + * when a thread is suspended but will wait until they are asked to + * redisplay the value. Passive variable updating lets a CDI plugin avoid + * maintaining its own variable cache and having to keep it in sync with + * CDT's. Targets that support this feature will need to be able to detect + * when a variable value has changed and fire a changedEvent in its + * implementation of ICDIValue.getValueString(). + * + * @return whether this target supports passive variable updating. + */ + boolean supportsPassiveVariableUpdate(); + + /** + * Returns whether this target supports runtime type indentification. + * If so this means the type of a variable may change when its value changes. + * + * @return whether this target supports runtime type indentification. + * If so this means the type of a variable may change when its value changes. + */ + boolean supportsRuntimeTypeIdentification(); + +}