|
20 | 20 | import org.eclipse.debug.core.ILaunch;
|
21 | 21 |
|
22 | 22 | /**
|
23 |
| - * A process represents a program running in normal (non-debug) mode. |
24 |
| - * Processes support setting and getting of client defined attributes. |
25 |
| - * This way, clients can annotate a process with any extra information |
26 |
| - * important to them. For example, classpath annotations, or command |
27 |
| - * line arguments used to launch the process may be important to a client. |
| 23 | + * A process represents a program running in normal (non-debug) mode. Processes |
| 24 | + * support setting and getting of client defined attributes. This way, clients |
| 25 | + * can annotate a process with any extra information important to them. For |
| 26 | + * example, classpath annotations, or command line arguments used to launch the |
| 27 | + * process may be important to a client. |
28 | 28 | * <p>
|
29 |
| - * Clients may implement this interface, however, the debug plug-in |
30 |
| - * provides an implementation of this interface for a |
31 |
| - * <code>java.lang.Process</code>. |
| 29 | + * Clients may implement this interface, however, the debug plug-in provides an |
| 30 | + * implementation of this interface for a <code>java.lang.Process</code>. |
32 | 31 | * </p>
|
| 32 | + * |
| 33 | + * If implementing custom launches it is important to fire event whenever the |
| 34 | + * process state changes in the following way: |
| 35 | + * |
| 36 | + * <pre> |
| 37 | + * DebugPlugin manager = DebugPlugin.getDefault(); |
| 38 | + * if (manager != null) { |
| 39 | + * manager.fireDebugEventSet(new DebugEvent[] { |
| 40 | + * new DebugEvent(this, DebugEvent.CREATE) }); |
| 41 | + * } |
| 42 | + * </pre> |
| 43 | + * |
| 44 | + * otherwise the UI will probably show faulty state for your process and launch. |
| 45 | + * |
33 | 46 | * @see org.eclipse.debug.core.DebugPlugin#newProcess(ILaunch, Process, String)
|
34 | 47 | */
|
35 | 48 | public interface IProcess extends IAdaptable, ITerminate {
|
|
0 commit comments