Nemiver  0.3
nmv-i-var-walker.h
Go to the documentation of this file.
1 //Author: Dodji Seketeli
2 /*
3  *This file is part of the Nemiver project
4  *
5  *Nemiver is free software; you can redistribute
6  *it and/or modify it under the terms of
7  *the GNU General Public License as published by the
8  *Free Software Foundation; either version 2,
9  *or (at your option) any later version.
10  *
11  *Nemiver is distributed in the hope that it will
12  *be useful, but WITHOUT ANY WARRANTY;
13  *without even the implied warranty of
14  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  *See the GNU General Public License for more details.
16  *
17  *You should have received a copy of the
18  *GNU General Public License along with Nemiver;
19  *see the file COPYING.
20  *If not, write to the Free Software Foundation,
21  *Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22  *
23  *See COPYRIGHT file copyright information.
24  */
25 #ifndef __NMV_I_VAR_WALKER_H__
26 #define __NMV_I_VAR_WALKER_H__
27 
28 #include "nmv-i-debugger.h"
30 #include "nmv-var.h"
31 
32 NEMIVER_BEGIN_NAMESPACE (nemiver)
33 
37 
38 class IVarWalker;
40 
48  IVarWalker ();
49  IVarWalker (const IVarWalker &);
50 
51 protected:
52  IVarWalker (DynamicModule *a_dynmod) : DynModIface (a_dynmod)
53  {
54  }
55 
56 public:
59 
62  virtual sigc::signal<void,
64  visited_variable_node_signal () const = 0;
68  virtual sigc::signal<void,
70  visited_variable_signal () const = 0;
72 
75  virtual void connect (IDebugger *a_debugger,
76  const UString &a_var_name) = 0;
77 
78  virtual void connect (IDebugger *a_debugger,
79  const IDebugger::VariableSafePtr a_var) = 0;
80 
81  virtual void do_walk_variable (const UString &a_cookie = "") = 0;
82 
86  virtual const IDebugger::VariableSafePtr get_variable () const = 0;
87 
89  virtual IDebugger* get_debugger () const = 0;
90 
93  virtual void set_maximum_member_depth (unsigned a_max_depth) = 0;
94  virtual unsigned get_maximum_member_depth () const = 0;
95 }; // end IVarWalker
96 
97 NEMIVER_END_NAMESPACE (nemiver)
98 
99 #endif //__NMV_I_VAR_WALKER_H__
100 
nemiver::IVarWalker
Definition: nmv-i-var-walker.h:47
nmv-safe-ptr-utils.h
nemiver
Definition: nmv-address.h:31
nemiver::common::ObjectRef
Definition: nmv-safe-ptr-utils.h:45
NEMIVER_API
#define NEMIVER_API
Definition: nmv-api-macros.h:53
nemiver::common::DynamicModule
The base class for loadable modules.
Definition: nmv-dynamic-module.h:76
nemiver::common::UString
Definition: nmv-ustring.h:45
nmv-var.h
nemiver::common::DynModIface
Definition: nmv-dynamic-module.h:220
nemiver::IVarWalker::IVarWalker
IVarWalker(DynamicModule *a_dynmod)
Definition: nmv-i-var-walker.h:52
nemiver::IVarWalkerSafePtr
SafePtr< IVarWalker, ObjectRef, ObjectUnref > IVarWalkerSafePtr
Definition: nmv-i-var-walker.h:38
nemiver::IDebugger
a debugger engine.
Definition: nmv-i-debugger.h:74
nmv-i-debugger.h
nemiver::common::ObjectUnref
Definition: nmv-safe-ptr-utils.h:55
nemiver::common::SafePtr
Definition: nmv-safe-ptr.h:71