1
//////////////////////////////////////////////////////////////////////////
3
// pgAdmin III - PostgreSQL Tools
5
// Copyright (C) 2002 - 2013, The pgAdmin Development Team
6
// This software is released under the PostgreSQL Licence
8
// dbgModel.h - Debugger Model
10
//////////////////////////////////////////////////////////////////////////
17
#include "debugger/dbgBreakPoint.h"
18
#include "debugger/dbgTargetInfo.h"
24
dbgCachedStack(const wxString &_pkg, const wxString &_func,
25
const wxString &_target, const wxString &_arg, const wxString &_src)
26
: m_func(_func), m_pkg(_pkg), m_source(_src),
27
m_target(_target), m_arg(_arg) {}
29
dbgCachedStack(const dbgCachedStack &_src)
30
: m_func(_src.m_func), m_pkg(_src.m_pkg), m_source(_src.m_source),
31
m_target(_src.m_target), m_arg(_src.m_arg) {}
33
dbgCachedStack &operator =(const dbgCachedStack &_src)
37
m_source = _src.m_source;
38
m_target = _src.m_target;
45
wxString m_pkg; // Package OID
46
wxString m_func; // Function OID
47
wxString m_target; // Target Name
48
wxString m_arg; // Argument passed to the target
49
wxString m_source; // Source code for this function
51
friend class frmDebugger;
54
WX_DECLARE_STRING_HASH_MAP(dbgCachedStack, dbgSourceHash);
59
dbgModel(Oid _target, pgConn *_conn);
61
dbgTargetInfo *GetTarget()
65
dbgBreakPointList &GetBreakPoints()
74
wxString &GetSession()
78
wxString &GetTargetPid()
83
bool GetSource(const wxString &_funcOid, dbgCachedStack *_cached = NULL);
84
void ClearCachedSource();
85
void AddSource(const wxString &_funcOid, const dbgCachedStack &cached);
87
bool RequireDisplayUpdate()
89
return (m_focusedFuncOid != m_displayedFuncOid ||
90
m_displayedPkgOid != m_focusedPkgOid);
93
wxString &GetFocusedPackage()
95
return m_focusedPkgOid;
97
wxString &GetDisplayedPackage()
99
return m_displayedPkgOid;
101
wxString &GetFocusedFunction()
103
return m_focusedFuncOid;
105
wxString &GetDisplayedFunction()
107
return m_displayedFuncOid;
116
// Target Information
117
dbgTargetInfo *m_target;
120
dbgBreakPointList m_breakpoints;
122
// Debugging Port, session-handle & target-backend pid
125
wxString m_targetPid;
127
// Cached source-code for the stacked functions
128
dbgSourceHash m_sourceMap;
130
// Current focused function-information
131
wxString m_focusedFuncOid;
132
wxString m_focusedPkgOid;
134
// Current displayed function-information
135
wxString m_displayedFuncOid;
136
wxString m_displayedPkgOid;
138
// Current Line number