Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.debug.ui/META-INF/MANIFEST.MF1
-rw-r--r--org.eclipse.debug.ui/component.xml2
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java6
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java6
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java8
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java (renamed from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java)27
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java (renamed from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java)10
7 files changed, 39 insertions, 21 deletions
diff --git a/org.eclipse.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
index eab087bed..66d76bb7b 100644
--- a/org.eclipse.debug.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
@@ -16,7 +16,6 @@ Export-Package: org.eclipse.debug.internal.ui;x-internal:=true,
org.eclipse.debug.internal.ui.commands.actions;x-internal:=true,
org.eclipse.debug.internal.ui.commands.provisional;x-internal:=true,
org.eclipse.debug.internal.ui.contexts;x-internal:=true,
- org.eclipse.debug.internal.ui.contexts.provisional;x-internal:=true,
org.eclipse.debug.internal.ui.elements.adapters;x-internal:=true,
org.eclipse.debug.internal.ui.importexport.breakpoints;x-internal:=true,
org.eclipse.debug.internal.ui.launchConfigurations;x-internal:=true,
diff --git a/org.eclipse.debug.ui/component.xml b/org.eclipse.debug.ui/component.xml
index ed5f3b5c0..9cf905613 100644
--- a/org.eclipse.debug.ui/component.xml
+++ b/org.eclipse.debug.ui/component.xml
@@ -83,6 +83,8 @@
<type name="IDebugContextManager" implement="false"/>
<type name="IDebugContextProvider" />
<type name="IDebugContextService" implement="false"/>
+ <type name="ISuspendTrigger" />
+ <type name="ISuspendTriggerListener" implement="false"/>
</package>
<package name="org.eclipse.debug.ui.memory">
<type name="AbstractMemoryRendering" />
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
index 4be91b08d..08dd1518d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
@@ -23,13 +23,13 @@ import org.eclipse.debug.core.model.IDebugElement;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IThread;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerAdapter;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerListener;
+import org.eclipse.debug.ui.contexts.ISuspendTrigger;
+import org.eclipse.debug.ui.contexts.ISuspendTriggerListener;
/**
* @since 3.2
*/
-public class LaunchSuspendTrigger implements ISuspendTriggerAdapter, IDebugEventSetListener {
+public class LaunchSuspendTrigger implements ISuspendTrigger, IDebugEventSetListener {
private ListenerList fListeners = new ListenerList();
private SuspendTriggerAdapterFactory fFactory = null;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
index 20f2999e2..27c026894 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
@@ -15,7 +15,7 @@ import java.util.Map;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerAdapter;
+import org.eclipse.debug.ui.contexts.ISuspendTrigger;
/**
* @since 3.2
@@ -28,7 +28,7 @@ public class SuspendTriggerAdapterFactory implements IAdapterFactory {
* @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
*/
public synchronized Object getAdapter(Object adaptableObject, Class adapterType) {
- if (adapterType.equals(ISuspendTriggerAdapter.class)) {
+ if (adapterType.equals(ISuspendTrigger.class)) {
if (adaptableObject instanceof ILaunch) {
Object trigger = fSuspendTriggers.get(adaptableObject);
if (trigger == null) {
@@ -45,7 +45,7 @@ public class SuspendTriggerAdapterFactory implements IAdapterFactory {
* @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
*/
public Class[] getAdapterList() {
- return new Class[]{ISuspendTriggerAdapter.class};
+ return new Class[]{ISuspendTrigger.class};
}
public synchronized void dispose(LaunchSuspendTrigger trigger) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
index 495f5a06f..6433efcd6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
@@ -36,12 +36,12 @@ import org.eclipse.debug.core.ILaunchListener;
import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerAdapter;
-import org.eclipse.debug.internal.ui.contexts.provisional.ISuspendTriggerListener;
import org.eclipse.debug.internal.ui.views.ViewContextManager;
import org.eclipse.debug.internal.ui.views.ViewContextService;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.debug.ui.contexts.ISuspendTrigger;
+import org.eclipse.debug.ui.contexts.ISuspendTriggerListener;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialogWithToggle;
import org.eclipse.swt.widgets.Display;
@@ -162,7 +162,7 @@ public class PerspectiveManager implements ILaunchListener, ISuspendTriggerListe
* @see ILaunchListener#launchRemoved(ILaunch)
*/
public synchronized void launchRemoved(final ILaunch launch) {
- ISuspendTriggerAdapter trigger = (ISuspendTriggerAdapter) launch.getAdapter(ISuspendTriggerAdapter.class);
+ ISuspendTrigger trigger = (ISuspendTrigger) launch.getAdapter(ISuspendTrigger.class);
if (trigger != null) {
trigger.removeSuspendTriggerListener(this);
}
@@ -195,7 +195,7 @@ public class PerspectiveManager implements ILaunchListener, ISuspendTriggerListe
* @see ILaunchListener#launchAdded(ILaunch)
*/
public synchronized void launchAdded(ILaunch launch) {
- ISuspendTriggerAdapter trigger = (ISuspendTriggerAdapter) launch.getAdapter(ISuspendTriggerAdapter.class);
+ ISuspendTrigger trigger = (ISuspendTrigger) launch.getAdapter(ISuspendTrigger.class);
if (trigger != null) {
trigger.addSuspendTriggerListener(this);
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java
index c693a142b..381ee2ec3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java
@@ -8,12 +8,19 @@
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
+package org.eclipse.debug.ui.contexts;
/**
- * Adapter retrieved from an <code>ILaunch</code> that notifies
- * listeners when it suspends at a context where debugging should
- * be initiated by the user. For example, when a breakpoint is encountered.
+ * A suspend trigger notifies listeners when a launch suspends at a context
+ * where debugging should begin. For example, when a breakpoint is encountered.
+ * <p>
+ * The debug platform retrieves a suspend trigger from each registered launch
+ * and listens to suspend notifications in order to initiate debug sessions - i.e.
+ * switch to the desired perspective, activate the debug view, etc., based on user
+ * preferences. The debug platform asks each registered launch for its suspend
+ * trigger adapter or registers with the launch itself if it implements
+ * <code>ISuspendTrigger</code>.
+ * </p>
* <p>
* It is important that the same instance of a suspend trigger adapter is
* returned each time it is asked for the same object, such that listeners
@@ -22,8 +29,14 @@ package org.eclipse.debug.internal.ui.contexts.provisional;
* with a new adapter the next time one is requested.
* </p>
* <p>
- * Clients may implement this interface.
+ * Clients may implement this interface. The debug platform provides a suspend trigger
+ * adapter for implementations of <code>ILaunch</code>. The implementation provided by
+ * the platform is based on a standard debug model that fires debug events. Clients
+ * wishing to provide their own implementation must also provide their own implementation
+ * of <code>ILaunch</code> (or subclass of <code>Launch</code>), in order to register
+ * their suspend trigger adapter.
* </p>
+ * @see ISuspendTriggerListener
* @since 3.3
* <p>
* <strong>EXPERIMENTAL</strong>. This interface has been added as
@@ -32,7 +45,7 @@ package org.eclipse.debug.internal.ui.contexts.provisional;
* without consulting with the Platform/Debug team.
* </p>
*/
-public interface ISuspendTriggerAdapter {
+public interface ISuspendTrigger {
/**
* Registers the given listener for suspend notifications.
@@ -42,7 +55,7 @@ public interface ISuspendTriggerAdapter {
public void addSuspendTriggerListener(ISuspendTriggerListener listener);
/**
- * Deregisters the given listener for suspend notifications.
+ * Unregisters the given listener for suspend notifications.
*
* @param listener suspend listener
*/
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java
index 4f4c3d607..dfbafc99f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/provisional/ISuspendTriggerListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java
@@ -8,16 +8,20 @@
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-package org.eclipse.debug.internal.ui.contexts.provisional;
+package org.eclipse.debug.ui.contexts;
import org.eclipse.debug.core.ILaunch;
/**
* Listeners are notified when a launch has suspended at a context
- * where debugging should being. For example, at a breakpoint.
+ * where debugging should begin. For example, in a stack frame where
+ * a breakpoint has been encountered.
* <p>
- * Clients may implement this interface.
+ * Clients are not intended to implement this interface. Generally, clients
+ * implement <code>ISuspendTrigger</code> and the debug platform registers
+ * as a suspend trigger listener.
* </p>
+ * @see ISuspendTrigger
* @since 3.3
* <p>
* <strong>EXPERIMENTAL</strong>. This interface has been added as

Back to the top