From 26bde110fa7b191599e2c1b2228e741439d308fe Mon Sep 17 00:00:00 2001 From: Ken Ryall Date: Fri, 28 Apr 2006 03:12:53 +0000 Subject: [PATCH] Extend the ICDITargetConfiguration interface to identify targets that support thread control, passive variable updating, and runtime type identification. --- .../cdi/model/ICDITargetConfiguration2.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITargetConfiguration2.java 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(); + +}