Skip to main content
summaryrefslogtreecommitdiffstats
blob: bb4d0c7eaad0261019d2c60e2af9cc2bee95711d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/*
 *(c) Copyright QNX Software Systems Ltd. 2002.
 * All Rights Reserved.
 */

package org.eclipse.cdt.debug.core.cdi;

import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;

/**
 * 
 * Represents a debug session.
 * 
 * @since Jun 28, 2002
 */
public interface ICDISession {
	/**
	 * Returns all the debug targets associatd with this sesion, 
	 * or an empty collection if no debug targets are associated 
	 * with this session. 
	 * 
	 * @return an array of debug targets
	 */
	ICDITarget[] getTargets();

	/**
	 * Returns the current debug target associatd with this sesion, 
	 * or null if no debug targets are associated with this session. 
	 * 
	 * @return ICDITarget the current debug target
	 */
	ICDITarget getCurrentTarget();

	/**
	 * Set the current debug target associatd with this sesion.
	 * 
	 * @return ICDITarget the current debug target
	 */
	void setCurrentTarget(ICDITarget target) throws CDIException;

	/**
	 * Sets the value of a debug session attribute.
	 *
	 * @param key the attribute key
	 * @param value the attribute value
	 */
	void setAttribute(String key, String value);

	/**
	 * Returns the value of a debug session attribute.
	 *
	 * @param key the attribute key
	 * @return value the attribute value, or <code>null</code> if undefined
	 */
	String getAttribute(String key);

	/**
	 * Returns the breakpoint manager of this debug session.
	 * 
	 * @return the breakpoint manager
	 */
	ICDIBreakpointManager getBreakpointManager();

	/**
	 * Returns the signal manager of this debug session.
	 * 
	 * @return the signal manager
	 */
	ICDISignalManager getSignalManager();

	/**
	 * Returns the variable manager of this debug session.
	 * 
	 * @return the variable manager
	 */
	ICDIVariableManager getVariableManager();

	/**
	 * Returns the expression manager of this debug session.
	 * 
	 * @return the expression manager
	 */
	ICDIExpressionManager getExpressionManager();

	/**
	 * Returns the register manager of this debug session.
	 * 
	 * @return the register manager
	 */
	ICDIRegisterManager getRegisterManager();


	/**
	 * Returns the memory manager of this debug session.
	 * 
	 * @return the memory manager
	 */
	ICDIMemoryManager getMemoryManager();

	/**
	 * Returns the source manager of this debug session.
	 * 
	 * @return the source manager
	 */
	ICDISourceManager getSourceManager();

	/**
	 * Returns the event manager of this debug session.
	 * 
	 * @return the event manager
	 */
	ICDIEventManager getEventManager();

	/**
	 * Returns the shared library manager of this debug session.
	 * 
	 * @return the shared library manager
	 */
	ICDISharedLibraryManager getSharedLibraryManager();

	/**
	 * Returns the configuration description of this debug session.
	 * 
	 * @return the configuration description
	 */
	ICDIConfiguration getConfiguration();

	/**
	 * Returns the Runtime options for this debug session.
	 * 
	 * @return the configuration description
	 */
	ICDIRuntimeOptions getRuntimeOptions();

	/**
	 * Causes this element to terminate, generating a <code>KIND_TERMINATE</code> event.  
	 *
	 * @exception CDIException on failure. Reasons include:
	 */
	void terminate() throws CDIException;
	
	/**
	 * Gaves direct access to the underlying debugger process.
	 * @return the debugger process.
	 */
	Process getSessionProcess() throws CDIException;
	
}

Back to the top