Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java')
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java80
1 files changed, 80 insertions, 0 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java
new file mode 100644
index 00000000000..3259cb368d8
--- /dev/null
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/output/MIBreakInsertInfo.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * 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
+ * Wind River Systems - Modified for new DSF Reference Implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.dsf.mi.service.command.output;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * -break-insert main
+ * ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x08048468",func="main",file="hello.c",line="4",times="0"}
+ * -break-insert -a p
+ * ^done,hw-awpt={number="2",exp="p"}
+ * -break-watch -r p
+ * ^done,hw-rwpt={number="4",exp="p"}
+ * -break-watch p
+ * ^done,wpt={number="6",exp="p"}
+ */
+public class MIBreakInsertInfo extends MIInfo {
+
+ MIBreakpoint[] breakpoints;
+
+ public MIBreakInsertInfo(MIOutput record) {
+ super(record);
+ breakpoints = null;
+ List<MIBreakpoint> aList = new ArrayList<MIBreakpoint>(1);
+ if (isDone()) {
+ MIResultRecord rr = record.getMIResultRecord();
+ if (rr != null) {
+ MIResult[] results = rr.getMIResults();
+ for (int i = 0; i < results.length; i++) {
+ String var = results[i].getVariable();
+ MIValue val = results[i].getMIValue();
+ MIBreakpoint bpt = null;
+ if (var.equals("wpt")) { //$NON-NLS-1$
+ if (val instanceof MITuple) {
+ bpt = new MIBreakpoint((MITuple)val);
+ bpt.setEnabled(true);
+ bpt.setWriteWatchpoint(true);
+ }
+ } else if (var.equals("bkpt")) { //$NON-NLS-1$
+ if (val instanceof MITuple) {
+ bpt = new MIBreakpoint((MITuple)val);
+ bpt.setEnabled(true);
+ }
+ } else if (var.equals("hw-awpt")) { //$NON-NLS-1$
+ if (val instanceof MITuple) {
+ bpt = new MIBreakpoint((MITuple)val);
+ bpt.setAccessWatchpoint(true);
+ bpt.setEnabled(true);
+ }
+ } else if (var.equals("hw-rwpt")) { //$NON-NLS-1$
+ if (val instanceof MITuple) {
+ bpt = new MIBreakpoint((MITuple)val);
+ bpt.setReadWatchpoint(true);
+ bpt.setEnabled(true);
+ }
+ }
+ if (bpt != null) {
+ aList.add(bpt);
+ }
+ }
+ }
+ }
+ breakpoints = aList.toArray(new MIBreakpoint[aList.size()]);
+ }
+
+ public MIBreakpoint[] getMIBreakpoints() {
+ return breakpoints;
+ }
+}

Back to the top