blob: b8755345ac1d10aec0109bdd00a9e45cd8e499d8 [file] [log] [blame]
/*
* (c) Copyright QNX Software Systems Ltd. 2002.
* All Rights Reserved.
*/
package org.eclipse.cdt.debug.mi.core.output;
import java.util.StringTokenizer;
/**
* GDB/MI show parsing.
* (gdb)
* -gdb-show directories
* ~"Source directories searched: /tmp:$cdir:$cwd\n"
* ^done
*/
public class MIGDBShowDirectoriesInfo extends MIInfo {
String[] dirs = new String[0];
public MIGDBShowDirectoriesInfo(MIOutput o) {
super(o);
parse();
}
public String[] getDirectories() {
return dirs;
}
void parse() {
if (isDone()) {
MIOutput out = getMIOutput();
MIOOBRecord[] oobs = out.getMIOOBRecords();
for (int i = 0; i < oobs.length; i++) {
if (oobs[i] instanceof MIConsoleStreamOutput) {
MIStreamRecord cons = (MIStreamRecord)oobs[i];
String str = cons.getString();
if (str.startsWith("Source directories searched:")) {
int j = str.indexOf(':');
if (j != -1) {
String sub = str.substring(j + 1).trim();
parseDirectories(sub);
}
}
}
}
}
}
void parseDirectories(String d) {
String sep = System.getProperty("path.separator", ":");
StringTokenizer st = new StringTokenizer(d, sep);
int count = st.countTokens();
dirs = new String[count];
for (int i = 0; st.hasMoreTokens() && i < count; i++) {
dirs[i] = st.nextToken();
}
}
}