gdbparser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _GDBPARSER_H_
00017 #define _GDBPARSER_H_
00018
00019 #include "variablewidget.h"
00020
00021 namespace GDBDebugger
00022 {
00023
00024 class GDBParser
00025 {
00026 public:
00027 void parseData(TrimmableItem *parent, char *buf,
00028 bool requested, bool params);
00029 DataType determineType(char *buf) const;
00030
00031 char *skipString(char *buf) const;
00032 char *skipQuotes(char *buf, char quote) const;
00033 char *skipDelim(char *buf, char open, char close) const;
00034
00035 static GDBParser *getGDBParser();
00036 static void destroy();
00037
00038 private:
00039 TrimmableItem *getItem(TrimmableItem *parent, DataType itemType,
00040 const QString &varName, bool requested);
00041
00042 void parseArray(TrimmableItem *parent, char *buf);
00043
00044 char *skipTokenEnd(char *buf) const;
00045 char *skipTokenValue(char *buf) const;
00046 char *skipNextTokenStart(char *buf) const;
00047
00048 QString getName(char **buf);
00049 QCString getValue(char **buf, bool requested);
00050 void setItem(TrimmableItem *parent, const QString &varName, DataType dataType,
00051 const QCString &value, bool requested, bool params);
00052
00053 protected:
00054 GDBParser();
00055 ~GDBParser();
00056 static GDBParser *GDBParser_;
00057 };
00058
00059 }
00060
00061 #endif
This file is part of the documentation for KDevelop Version 3.1.2.