summaryrefslogtreecommitdiffstats
path: root/quanta/components/debugger/interfaces/debuggerinterface.h
blob: 8c5279793d3de53c186009e8a61900441bb62ead (plain)
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
/***************************************************************************
                            debuggerinterface.h
                            -------------------
    begin                : 2004-03-12
    copyright            : (C) 2004 Linus McCabe <linus@mccabe.nu>

 ***************************************************************************/

/****************************************************************************
 *                                                                          *
 *   This program is free software; you can redistribute it and/or modify   *
 *   it under the terms of the GNU General Public License as published by   *
 *   the Free Software Foundation; either version 2 of the License, or      *
 *   (at your option) any later version.                                    *
 *                                                                          *
 ***************************************************************************/

#ifndef DEBUGGERINTERFACE_H
#define DEBUGGERINTERFACE_H

#include <qobject.h>
#include <qstring.h>
#include <kurl.h>

#include "debuggervariable.h"
#include "debuggerbreakpoint.h"
#include "backtracelistview.h"

class PathMapper;

class DebuggerInterface : public QObject
{
    Q_OBJECT

  private:


  public:
    DebuggerInterface(QObject *parent, const char* name);

    // Breakpoints
    virtual void haveBreakpoint (const QString& file, int line) = 0;
    virtual void havenoBreakpoint (const QString& file, int line) = 0;

    // Public help functions
    virtual bool showStatus(const QString& message, bool log) = 0;
    virtual bool setActiveLine (const QString& file, int line) = 0;

    virtual void enableAction(const QString& action, bool enable) = 0;
    virtual void fileOpened(const QString& file) = 0;
    virtual void sendRequest(const KURL &url) = 0;
    virtual const QString activeFileParts(const QString & str) = 0;

    // Watch handling
    //virtual void preWatchUpdate() = 0;
    //virtual void postWatchUpdate() = 0;

    virtual DebuggerVariable* newDebuggerVariable(const QString& name, const QString& value, int type) = 0;
    virtual DebuggerVariable* newDebuggerVariable(const QString& name, const ValueList_t& values, int type) = 0;
    virtual void showVariable(DebuggerVariable*) = 0;

    // Backtrace
    virtual void backtraceClear() = 0;
    virtual void backtraceShow(long level, BacktraceType type, const QString &filename, long line, const QString& func) = 0;

    
    // Breakpoints
    virtual void showBreakpoint(const DebuggerBreakpoint &bp) = 0;
    virtual void refreshBreakpoints() = 0;
    virtual DebuggerBreakpoint * newDebuggerBreakpoint() = 0;
    virtual DebuggerBreakpoint * findDebuggerBreakpoint(const QString& key) = 0;
    virtual void updateBreakpointKey(const DebuggerBreakpoint &bp, const QString& newkey) = 0;

    // Path mapping
    virtual PathMapper* Mapper() = 0;
};

#endif