Generate and install scalable icons.
[kdbg.git] / kdbg / xsldbgdriver.h
blob6bbe7ea89bdf22fac178dfa5848f0aac82e235e0
1 /*
2 * Copyright Johannes Sixt, Keith Isdale
3 * This file is licensed under the GNU General Public License Version 2.
4 * See the file COPYING in the toplevel directory of the source directory.
5 */
7 #ifndef XSLDBGDRIVER_H
8 #define XSLDBGDRIVER_H
10 #include "dbgdriver.h"
13 class XsldbgDriver:public DebuggerDriver {
14 Q_OBJECT public:
15 XsldbgDriver();
16 ~XsldbgDriver();
18 virtual QString driverName() const;
19 virtual QString defaultInvocation() const;
20 virtual QStringList boolOptionList() const;
21 static QString defaultXsldbg();
22 virtual bool startup(QString cmdStr);
23 virtual void commandFinished(CmdQueueItem * cmd);
25 virtual CmdQueueItem *executeCmd(DbgCommand, bool clearLow = false);
26 virtual CmdQueueItem *executeCmd(DbgCommand, QString strArg,
27 bool clearLow = false);
28 virtual CmdQueueItem *executeCmd(DbgCommand, int intArg,
29 bool clearLow = false);
30 virtual CmdQueueItem *executeCmd(DbgCommand, QString strArg,
31 int intArg, bool clearLow = false);
32 virtual CmdQueueItem *executeCmd(DbgCommand, QString strArg1,
33 QString strArg2, bool clearLow =
34 false);
35 virtual CmdQueueItem *executeCmd(DbgCommand, int intArg1, int intArg2,
36 bool clearLow = false);
37 virtual CmdQueueItem *queueCmd(DbgCommand, QueueMode mode);
38 virtual CmdQueueItem *queueCmd(DbgCommand, QString strArg,
39 QueueMode mode);
40 virtual CmdQueueItem *queueCmd(DbgCommand, int intArg, QueueMode mode);
41 virtual CmdQueueItem *queueCmd(DbgCommand, QString strArg, int intArg,
42 QueueMode mode);
43 virtual CmdQueueItem *queueCmd(DbgCommand, QString strArg1,
44 QString strArg2, QueueMode mode);
46 virtual void terminate();
47 virtual void detachAndTerminate();
48 virtual void interruptInferior();
50 virtual void setPrintQStringDataCmd(const char* cmd);
51 /**
52 * Parses the output as an array of QChars.
54 virtual ExprValue *parseQCharArray(const char *output,
55 bool wantErrorValue, bool qt3like);
57 virtual void parseBackTrace(const char *output,
58 std::list < StackFrame > &stack);
59 virtual bool parseFrameChange(const char *output, int &frameNo,
60 QString & file, int &lineNo,
61 DbgAddr & address);
62 virtual bool parseBreakList(const char *output,
63 std::list < Breakpoint > &brks);
64 virtual std::list<ThreadInfo> parseThreadList(const char *output);
65 virtual bool parseBreakpoint(const char *output, int &id,
66 QString & file, int &lineNo, QString& address);
67 virtual void parseLocals(const char *output,
68 std::list < ExprValue* > &newVars);
69 virtual ExprValue * parsePrintExpr(const char *output, bool wantErrorValue);
70 virtual bool parseChangeWD(const char *output, QString & message);
71 virtual bool parseChangeExecutable(const char *output,
72 QString & message);
73 virtual bool parseCoreFile(const char *output);
74 virtual uint parseProgramStopped(const char *output,
75 QString & message);
76 virtual QStringList parseSharedLibs(const char *output);
77 virtual bool parseFindType(const char *output, QString & type);
78 virtual std::list<RegisterInfo> parseRegisters(const char *output);
79 virtual bool parseInfoLine(const char *output, QString & addrFrom,
80 QString & addrTo);
81 virtual std::list<DisassembledCode> parseDisassemble(const char *output);
82 virtual QString parseMemoryDump(const char *output,
83 std::list < MemoryDump > &memdump);
84 virtual QString parseSetVariable(const char* output);
86 protected:
87 QString m_programWD; /* just an intermediate storage */
88 QString m_xslFile; /* needed to display it initially */
89 bool m_haveDataFile; /* have we set the XML data file to use? */
90 QString m_redirect; /* redirection to /dev/null */
91 bool m_haveCoreFile;
93 QString makeCmdString(DbgCommand cmd, QString strArg);
94 QString makeCmdString(DbgCommand cmd, int intArg);
95 QString makeCmdString(DbgCommand cmd, QString strArg, int intArg);
96 QString makeCmdString(DbgCommand cmd, QString strArg1,
97 QString strArg2);
98 QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2);
99 virtual int findPrompt(const QByteArray& output) const;
100 void parseMarker();
103 #endif // XSLDBGDRIVER_H