Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 0624d36224f1baa9ed3156d1206d8a634a5d2e45 (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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
/*******************************************************************************
 * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved.
 * This program and the accompanying materials are made available under the terms
 * of the Eclipse Public License v1.0 which accompanies this distribution, and is
 * available at http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * Wind River Systems - initial API and implementation
 * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support
 *******************************************************************************/
package org.eclipse.tcf.te.core.terminals.interfaces.constants;

import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener;


/**
 * Defines the terminals connector constants.
 */
public interface ITerminalsConnectorConstants {

	/**
	 * Property: The unique id of the terminals view to open.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_ID = "id"; //$NON-NLS-1$

	/**
	 * Property: The unique secondary id of the terminals view to open.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SECONDARY_ID = "secondaryId"; //$NON-NLS-1$

	/**
	 * Property: The title of the terminal tab to open.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_TITLE = "title"; //$NON-NLS-1$

	/**
	 * Property: The encoding of the terminal tab to open.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_ENCODING = "encoding"; //$NON-NLS-1$

	/**
	 * Property: Custom data object to associate with the terminal tab.
	 * <p>
	 * Property Type: {@link Object}
	 */
	public static final String PROP_DATA = "data"; //$NON-NLS-1$

	/**
	 * Property: External selection to associate with the terminal tab.
	 * <p>
	 * Property Type: {@link org.eclipse.jface.viewers.ISelection}
	 */
	public static final String PROP_SELECTION = "selection"; //$NON-NLS-1$

	/**
	 * Property: Flag to force a new terminal tab.
	 * <p>
	 * Property Type: {@link Boolean}
	 */
	public static final String PROP_FORCE_NEW = "terminal.forceNew"; //$NON-NLS-1$

	/**
	 * Property: Flag to signal if the terminal tab shall have a disconnect button or not.
	 * <p>
	 * Property Type: {@link Boolean}
	 */
	public static final String PROP_HAS_DISCONNECT_BUTTON = "hasDisconnectButton"; //$NON-NLS-1$

	/**
	 * Property: Terminals launcher delegate id.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_DELEGATE_ID = "delegateId"; //$NON-NLS-1$

	/**
	 * Property: Specific terminal connector type id. Allows clients to
	 *           override the specifically used terminal connector
	 *           implementation for a given type.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_TERMINAL_CONNECTOR_ID = "tm.terminal.connector.id"; //$NON-NLS-1$

	// ***** Generic terminals connector properties *****

	/**
	 * Property: Timeout to be passed to the terminal connector. The specific terminal
	 *           connector implementation may interpret this value differently. If not
	 *           set, the terminal connector may use a default value.
	 * <p>
	 * Property Type: {@link Integer}
	 */
	public static final String PROP_TIMEOUT = "timeout"; //$NON-NLS-1$

	/**
	 * Property: Flag to control if a local echo is needed from the terminal widget.
	 *           <p>Typical for process and streams terminals.
	 * <p>
	 * Property Type: {@link Boolean}
	 */
	public static final String PROP_LOCAL_ECHO = "localEcho"; //$NON-NLS-1$

	/**
	 * Property: Data flag to tell the terminal to not reconnect when hitting enter
	 *           in a disconnected terminal.
	 *           The flag can be set by adding an IPropertiesContainer with the set
	 *           flag as PROP_DATA.
	 * <p>
	 * Property Type: {@link Boolean}
	 */
	public static final String PROP_DATA_NO_RECONNECT = "data.noReconnect"; //$NON-NLS-1$

	/**
	 * Property: The line separator expected by the remote terminal on input streams and
	 *           send by the remote terminal on output streams.
	 *           <p>Typical for process and streams terminals.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_LINE_SEPARATOR = "lineSeparator"; //$NON-NLS-1$

	/**
	 * Property: The list of stdout listeners to attach to the corresponding stream monitor.
	 *           <p>Typical for process and streams terminals.
	 * <p>
	 * Property Type: {@link ITerminalServiceOutputStreamMonitorListener} array
	 */
	public static final String PROP_STDOUT_LISTENERS = "stdoutListeners"; //$NON-NLS-1$

	/**
	 * Property: The list of stderr listeners to attach to the corresponding stream monitor.
	 *           <p>Typical for process and streams terminals.
	 * <p>
	 * Property Type: {@link ITerminalServiceOutputStreamMonitorListener} array
	 */
	public static final String PROP_STDERR_LISTENERS = "stderrListeners"; //$NON-NLS-1$

	/**
	 * Property: If set to <code>true</code>, backslashes are translated to
	 *           slashes before pasting the text to the terminal widget.
	 * <p>
	 * Property Type: {@link Boolean}
	 */
	public static final String PROP_TRANSLATE_BACKSLASHES_ON_PASTE = "translateBackslashesOnPaste"; //$NON-NLS-1$

	// ***** IP based terminals connector properties *****

	/**
	 * Property: Host name or IP address the terminal server is running.
	 *           <p>Typical for telnet or ssh terminals.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_IP_HOST = "ip.host"; //$NON-NLS-1$

	/**
	 * Property: Port at which the terminal server is providing the console input and output.
	 *           <p>Typical for telnet or ssh terminals.
	 * <p>
	 * Property Type: {@link Integer}
	 */
	public static final String PROP_IP_PORT = "ip.port"; //$NON-NLS-1$

	/**
	 * Property: An offset to add to the specified port number.
	 *           <p>Typical for telnet or ssh terminals.
	 * <p>
	 * Property Type: {@link Integer}
	 */
	public static final String PROP_IP_PORT_OFFSET = "ip.port.offset"; //$NON-NLS-1$

	// ***** Process based terminals connector properties *****

	/**
	 * Property: Process image path.
	 * 			 <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_PROCESS_PATH = "process.path"; //$NON-NLS-1$

	/**
	 * Property: Process arguments.
	 *           <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_PROCESS_ARGS = "process.args"; //$NON-NLS-1$

	/**
	 * Property: Process arguments.
	 *           <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_PROCESS_WORKING_DIR = "process.working_dir"; //$NON-NLS-1$

	/**
	 * Property: Process environment.
	 *           <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link String} array
	 */
	public static final String PROP_PROCESS_ENVIRONMENT = "process.environment"; //$NON-NLS-1$

	/**
	 * Property: Flag to merge process environment with native environment.
	 *           <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link Boolean}
	 */
	public static final String PROP_PROCESS_MERGE_ENVIRONMENT = "process.environment.merge"; //$NON-NLS-1$

	/**
	 * Property: Runtime process instance.
     *           <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link Process}
	 */
	public static final String PROP_PROCESS_OBJ = "process"; //$NON-NLS-1$

	/**
	 * Property: Runtime process PTY instance.
	 *           <p>Typical for process terminals.
	 * <p>
	 * Property Type: {@link org.eclipse.cdt.utils.pty.PTY}
	 */
	public static final String PROP_PTY_OBJ = "pty"; //$NON-NLS-1$

	// ***** Streams based terminals connector properties *****

	/**
	 * Property: Stdin streams instance.
	 *           <p>Typical for streams terminals.
	 * <p>
	 * Property Type: {@link OutputStream}
	 */
	public static final String PROP_STREAMS_STDIN = "streams.stdin"; //$NON-NLS-1$

	/**
	 * Property: Stdout streams instance.
	 *           <p>Typical for streams terminals.
	 * <p>
	 * Property Type: {@link InputStream}
	 */
	public static final String PROP_STREAMS_STDOUT = "streams.stdout"; //$NON-NLS-1$

	/**
	 * Property: Stderr streams instance.
	 *           <p>Typical for streams terminals.
	 * <p>
	 * Property Type: {@link InputStream}
	 */
	public static final String PROP_STREAMS_STDERR = "streams.stderr"; //$NON-NLS-1$

	// ***** Ssh specific properties *****

	/**
	 * Property: ssh keep alive value.
	 * <p>
	 * Property Type: {@link Integer}
	 */
	public static final String PROP_SSH_KEEP_ALIVE = "ssh.keep_alive"; //$NON-NLS-1$

	/**
	 * Property: Ssh password.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SSH_PASSWORD = "ssh.password"; //$NON-NLS-1$

	/**
	 * Property: Ssh user.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SSH_USER = "ssh.user"; //$NON-NLS-1$

	// ***** Serial specific properties *****

	/**
	 * The serial device name.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SERIAL_DEVICE = "serial.device"; //$NON-NLS-1$

	/**
	 * The baud rate.
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SERIAL_BAUD_RATE = "serial.baudrate"; //$NON-NLS-1$

	/**
	 * The data bits
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SERIAL_DATA_BITS = "serial.databits"; //$NON-NLS-1$

	/**
	 * The parity
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SERIAL_PARITY = "serial.parity"; //$NON-NLS-1$

	/**
	 * The stop bits
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SERIAL_STOP_BITS = "serial.stopbits"; //$NON-NLS-1$

	/**
	 * The flow control
	 * <p>
	 * Property Type: {@link String}
	 */
	public static final String PROP_SERIAL_FLOW_CONTROL = "serial.flowcontrol"; //$NON-NLS-1$
}

Back to the top