Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: c64631f388e3e755142d49bac91d26f1aa376758 (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
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
/*******************************************************************************
 * Copyright (c) 2000, 2006 QNX Software Systems 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:
 *     QNX Software Systems - Initial API and implementation
 *******************************************************************************/

package org.eclipse.cdt.debug.mi.core.command;


/**
 * Factory to create GDB commands.
 */
public class CommandFactory {

	String fMIVersion;

	protected CommandFactory() {
	}

	public CommandFactory(String miVersion) {
		fMIVersion = miVersion;
	}

	public void setMIVersion(String miVersion) {
		fMIVersion = miVersion;
	}

	public String getMIVersion() {
		return fMIVersion;
	}

	public MIBreakAfter createMIBreakAfter(int brknum, int count) {
		return new MIBreakAfter(getMIVersion(), brknum, count);
	}
	
	public MIBreakCondition createMIBreakCondition (int brknum, String expr) {
		return new MIBreakCondition(getMIVersion(), brknum, expr);
	}

	public MIBreakDelete createMIBreakDelete (int[] brknum) {
		return new MIBreakDelete(getMIVersion(), brknum);
	}

	public MIBreakDisable createMIBreakDisable(int[] brknum) {
		return new MIBreakDisable(getMIVersion(), brknum);
	}

	public MIBreakEnable createMIBreakEnable(int[] brknum) {
		return new MIBreakEnable(getMIVersion(), brknum);
	}

	public MIBreakInsert createMIBreakInsert(boolean isTemporary, boolean isHardware,
			 String condition, int ignoreCount, String line, int tid) {
		return new MIBreakInsert(getMIVersion(), isTemporary, isHardware, condition, ignoreCount, line, tid);
	}

	public MIBreakInsert createMIBreakInsert(String func) {
		return new MIBreakInsert(getMIVersion(), func);
	}

	public MIBreakList createMIBreakList() {
		return new MIBreakList(getMIVersion());
	}

	public MIBreakWatch createMIBreakWatch(boolean access, boolean read, String expression) {
		return new MIBreakWatch(getMIVersion(), access, read, expression);
	}

	public MIDataDisassemble createMIDataDisassemble(String start, String end, boolean mixed) {
		return new MIDataDisassemble(getMIVersion(), start, end, mixed);
	}

	public MIDataDisassemble createMIDataDisassemble(String file, int linenum, int lines, boolean mixed) {
		return new MIDataDisassemble(getMIVersion(), file, linenum, lines, mixed);
	}

	public MIDataEvaluateExpression createMIDataEvaluateExpression(String expression) {
		return new MIDataEvaluateExpression(getMIVersion(), expression);
	}

	public MIDataListChangedRegisters createMIDataListChangedRegisters() {
		return new MIDataListChangedRegisters(getMIVersion());
	}

	public MIDataListRegisterNames createMIDataListRegisterNames() {
		return new MIDataListRegisterNames(getMIVersion());
	}

	public MIDataListRegisterNames createMIDataListRegisterNames(int[] regnos) {
		return new MIDataListRegisterNames(getMIVersion(), regnos);
	}

	public MIDataListRegisterValues createMIDataListRegisterValues(int fmt, int[] regnos) {
		return new MIDataListRegisterValues(getMIVersion(), fmt, regnos);
	}

	public MIDataWriteRegisterValues createMIDataWriteRegisterValues(int fmt, int[] regnos, String[] values) {
		return new MIDataWriteRegisterValues(getMIVersion(), fmt, regnos, values);
	}

	public MIDataReadMemory createMIDataReadMemory(long offset, String address,
							int wordFormat, int wordSize,
							int rows, int cols, Character asChar) {
		return new MIDataReadMemory(getMIVersion(), offset, address, wordFormat, wordSize,
						rows, cols, asChar);
	}

	public MIDataWriteMemory createMIDataWriteMemory(long offset, String address,
							int wordFormat, int wordSize,
							String value) {
		return new MIDataWriteMemory(getMIVersion(), offset, address, wordFormat, wordSize, value);
	}

	public MIEnvironmentCD createMIEnvironmentCD(String pathdir) {
		return new MIEnvironmentCD(getMIVersion(), pathdir);
	}

	public MIEnvironmentDirectory createMIEnvironmentDirectory(boolean reset, String[] pathdirs) {
		return new MIEnvironmentDirectory(getMIVersion(), reset, pathdirs);
	}

	public MIEnvironmentPath createMIEnvironmentPath(String[] paths) {
		return new MIEnvironmentPath(getMIVersion(), paths);
	}

	public MIEnvironmentPWD createMIEnvironmentPWD() {
		return new MIEnvironmentPWD(getMIVersion());
	}

	/**
	 * @param params
	 * @return
	 */
	public MIGDBSetEnvironment createMIGDBSetEnvironment(String[] params) {
		return new MIGDBSetEnvironment(getMIVersion(), params);
	}

	public CLIExecAbort createCLIExecAbort() {
		return new CLIExecAbort();
	}

	public MIExecArguments createMIExecArguments(String[] args) {
		return new MIExecArguments(getMIVersion(), args);
	}

	public MIExecContinue createMIExecContinue() {
		return new MIExecContinue(getMIVersion());
	}

	public MIExecFinish createMIExecFinish() {
		return new MIExecFinish(getMIVersion());
	}

	public MIExecInterrupt createMIExecInterrupt() {
		// return null here to signal that we do not support
		// -exec-interrupt and to use to drop a signal to gdb
		// instead via the MIProcess class
		return null;
	}

	public MIExecNext createMIExecNext(int count) {
		return new MIExecNext(getMIVersion(), count);
	}

	public MIExecNextInstruction createMIExecNextInstruction(int count) {
		return new MIExecNextInstruction(getMIVersion(), count);
	}

	public MIExecReturn createMIExecReturn() {
		return new MIExecReturn(getMIVersion());
	}

	public MIExecReturn createMIExecReturn(String arg) {
		return new MIExecReturn(getMIVersion(), arg);
	}

	public MIExecRun createMIExecRun(String[] args) {
		return new MIExecRun(getMIVersion(), args);
	}

	public MIExecStep createMIExecStep(int count) {
		return new MIExecStep(getMIVersion(), count);
	}

	public MIExecStepInstruction createMIExecStepInstruction(int count) {
		return new MIExecStepInstruction(getMIVersion(), count);
	}

	public MIExecUntil createMIExecUntil(String location) {
		return new MIExecUntil(getMIVersion(), location);
	}

	public CLIJump createCLIJump(String location) {
		return new CLIJump(location);
	}

	public MIFileExecFile createMIFileExecFile(String file) {
		return new MIFileExecFile(getMIVersion(), file);
	}

	public MIFileSymbolFile createMIFileSymbolFile(String file) {
		return new MIFileSymbolFile(getMIVersion(), file);
	}

	public MIGDBExit createMIGDBExit() {
		return new MIGDBExit(getMIVersion());
	}

	public MIGDBSet createMIGDBSet(String[] params) {
		return new MIGDBSet(getMIVersion(), params);
	}

	public MIGDBSetAutoSolib createMIGDBSetAutoSolib(boolean set) {
		return new MIGDBSetAutoSolib(getMIVersion(), set);
	}

	public MIGDBSetStopOnSolibEvents createMIGDBSetStopOnSolibEvents(boolean set) {
		return new MIGDBSetStopOnSolibEvents(getMIVersion(), set);
	}

	public MIGDBSetSolibSearchPath createMIGDBSetSolibSearchPath(String[] params) {
		return new MIGDBSetSolibSearchPath(getMIVersion(), params);
	}

	public MIGDBSetBreakpointPending createMIGDBSetBreakpointPending(boolean set) {
		return new MIGDBSetBreakpointPending(getMIVersion(), set);
	}

	public MIGDBShow createMIGDBShow(String[] params) {
		return new MIGDBShow(getMIVersion(), params);
	}

	public MIGDBShowPrompt createMIGDBShowPrompt() {
		return new MIGDBShowPrompt(getMIVersion());
	}

	public MIGDBShowExitCode createMIGDBShowExitCode() {
		return new MIGDBShowExitCode(getMIVersion());
	}

	public MIGDBShowDirectories createMIGDBShowDirectories() {
		return new MIGDBShowDirectories(getMIVersion());
	}

	public MIGDBShowSolibSearchPath createMIGDBShowSolibSearchPath() {
		return new MIGDBShowSolibSearchPath(getMIVersion());
	}

	public MIGDBShowAddressSize createMIGDBShowAddressSize() {
		return new MIGDBShowAddressSize(getMIVersion());
	}

	public MIGDBShowEndian createMIGDBShowEndian() {
		return new MIGDBShowEndian(getMIVersion());
	}

	public MIStackInfoDepth createMIStackInfoDepth() {
		return new MIStackInfoDepth(getMIVersion());
	}

	public MIStackInfoDepth createMIStackInfoDepth(int depth) {
		return new MIStackInfoDepth(getMIVersion(), depth);
	}

	public MIStackListArguments createMIStackListArguments(boolean showValue) {
		return new MIStackListArguments(getMIVersion(), showValue);
	}

	public MIStackListArguments createMIStackListArguments(boolean showValue, int lowFrame, int highFrame) {
		return new MIStackListArguments(getMIVersion(), showValue, lowFrame, highFrame);
	}

	public MIStackListFrames createMIStackListFrames() {
		return new MIStackListFrames(getMIVersion());
	}

	public MIStackListFrames createMIStackListFrames(int lowFrame, int highFrame) {
		return new MIStackListFrames(getMIVersion(), lowFrame, highFrame);
	}

	public MIStackListLocals createMIStackListLocals(boolean showValues) {
		return new MIStackListLocals(getMIVersion(), showValues);
	}

	public MIStackSelectFrame createMIStackSelectFrame(int frameNum) {
		return new MIStackSelectFrame(getMIVersion(), frameNum);
	}

	public CLITargetAttach createCLITargetAttach(int pid) {
		return new CLITargetAttach(pid);
	}

	public MITargetDetach createMITargetDetach() {
		return new MITargetDetach(getMIVersion());
	}

    public MITargetDownload createMITargetDownload(String file) {
        return new MITargetDownload(getMIVersion(), file);
    }

    public MITargetSelect createMITargetSelect(String[] params) {
        return new MITargetSelect(getMIVersion(), params);
    }

	public MIThreadListIds createMIThreadListIds() {
		return new MIThreadListIds(getMIVersion());
	}

	public CLIInfoThreads createCLIInfoThreads() {
		return new CLIInfoThreads();
	}

	public MIThreadSelect createMIThreadSelect(int threadNum) {
		return new MIThreadSelect(getMIVersion(), threadNum);
	}

	public CLIInfoSharedLibrary createCLIInfoSharedLibrary() {
		return new CLIInfoSharedLibrary();
	}

	public CLISharedLibrary createCLISharedLibrary() {
		return new CLISharedLibrary();
	}

	public CLISharedLibrary createCLISharedLibrary(String name) {
		return new CLISharedLibrary(name);
	}

	public CLIWhatis createCLIWhatis(String name) {
		return new CLIWhatis(name);
	}

	public CLIInfoSignals createCLIInfoSignals() {
		return new CLIInfoSignals();
	}

	public CLIInfoSignals createCLIInfoSignals(String name) {
		return new CLIInfoSignals(name);
	}

	public CLIHandle createCLIHandle(String arg) {
		return new CLIHandle(arg);
	}

	public CLISignal createCLISignal(String arg) {
		return new CLISignal(arg);
	}

	public CLIPType createCLIPType(String name) {
		return new CLIPType(name);
	}

	public CLIInfoProgram createCLIInfoProgram() {
		return new CLIInfoProgram();
	}

	public MIVarCreate createMIVarCreate(String expression) {
		return new MIVarCreate(getMIVersion(), expression);
	}

	public MIVarCreate createMIVarCreate(String name, String frameAddr, String expression) {
		return new MIVarCreate(getMIVersion(), name, frameAddr, expression);
	}

	public MIVarDelete createMIVarDelete(String name) {
		return new MIVarDelete(getMIVersion(), name);
	}

	public MIVarSetFormat createMIVarSetFormat(String name, int format) {
		return new MIVarSetFormat(getMIVersion(), name, format);
	}

	public MIVarShowFormat createMIVarShowFormat(String name) {
		return new MIVarShowFormat(getMIVersion(), name);
	}

	public MIVarInfoNumChildren createMIVarInfoNumChildren(String name) {
		return new MIVarInfoNumChildren(getMIVersion(), name);
	}

	public MIVarListChildren createMIVarListChildren(String name) {
		return new MIVarListChildren(getMIVersion(), name);
	}

	public MIVarInfoType createMIVarInfoType(String name) {
		return new MIVarInfoType(getMIVersion(), name);
	}

	public MIVarInfoExpression createMIVarInfoExpression(String name) {
		return new MIVarInfoExpression(getMIVersion(), name);
	}

	public MIVarShowAttributes createMIVarShowAttributes(String name) {
		return new MIVarShowAttributes(getMIVersion(), name);
	}

	public MIVarEvaluateExpression createMIVarEvaluateExpression(String name) {
		return new MIVarEvaluateExpression(getMIVersion(), name);
	}

	public MIVarAssign createMIVarAssign(String name, String expr) {
		return new MIVarAssign(getMIVersion(), name, expr);
	}

	public MIVarUpdate createMIVarUpdate() {
		return new MIVarUpdate(getMIVersion());
	}

	public MIVarUpdate createMIVarUpdate(String name) {
		return new MIVarUpdate(getMIVersion(), name);
	}

	public MIInterpreterExecConsole createMIInterpreterExecConsole(String cmd) {
		return new MIInterpreterExecConsole(getMIVersion(), cmd);
	}
}

Back to the top