Nemiver  0.3
nmv-i-var-list.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_LIST_H__
26 #define __NMV_I_VAR_LIST_H__
27 
28 #include <list>
29 #include "nmv-i-debugger.h"
31 
32 NEMIVER_BEGIN_NAMESPACE (nemiver)
33 
39 
40 typedef std::list<IDebugger::VariableSafePtr> DebuggerVariableList;
41 class IVarList;
44  IVarList ();
45  IVarList (const IVarList &);
46 
47 protected:
48  IVarList (DynamicModule *a_dynmod) :
49  DynModIface (a_dynmod)
50  {
51  }
52 
53 public:
54 
57  virtual sigc::signal<void, const IDebugger::VariableSafePtr&>&
58  variable_added_signal () = 0;
59  virtual sigc::signal<void, const IDebugger::VariableSafePtr>&
60  variable_value_set_signal ()=0;
61  virtual sigc::signal<void, const IDebugger::VariableSafePtr&>&
62  variable_type_set_signal () = 0;
63  virtual sigc::signal<void, const IDebugger::VariableSafePtr&>&
64  variable_removed_signal () = 0;
66 
74  virtual void initialize (IDebuggerSafePtr &a_debugger) = 0;
75 
76  virtual IDebugger& get_debugger () const = 0;
77 
79  virtual const DebuggerVariableList& get_raw_list() const = 0;
80 
87  virtual void append_variable (const IDebugger::VariableSafePtr &a_var,
88  bool a_update_type=true) = 0;
89 
96  virtual void append_variables (const DebuggerVariableList& a_vars,
97  bool a_update_type=true) = 0;
98 
103  virtual bool remove_variable (const IDebugger::VariableSafePtr &a_var) = 0;
104 
109  virtual bool remove_variable (const UString &a_var_name) = 0;
110 
112  virtual void remove_variables () = 0;
113 
119  virtual bool find_variable (const UString &a_var_name,
120  IDebugger::VariableSafePtr &a_var) = 0;
121 
129  virtual bool find_variable_from_qname (const UString &a_qname,
130  IDebugger::VariableSafePtr &a_var)=0;
131 
136  virtual void update_state () = 0;
137 };//end class IVarList
138 
139 NEMIVER_END_NAMESPACE (nemiver)
140 
141 #endif //__NMV_I_VAR_LIST_H__
142 
nmv-safe-ptr-utils.h
nemiver::IVarList::IVarList
IVarList(DynamicModule *a_dynmod)
Definition: nmv-i-var-list.h:48
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::DynModIfaceSafePtr
SafePtr< DynModIface, ObjectRef, ObjectUnref > DynModIfaceSafePtr
Definition: nmv-dynamic-module.h:64
nemiver::common::UString
Definition: nmv-ustring.h:45
nemiver::DebuggerVariableList
std::list< IDebugger::VariableSafePtr > DebuggerVariableList
Definition: nmv-i-var-list.h:40
nemiver::common::DynModIface
Definition: nmv-dynamic-module.h:220
nemiver::IDebugger
a debugger engine.
Definition: nmv-i-debugger.h:74
nemiver::IVarListSafePtr
SafePtr< IVarList, ObjectRef, ObjectUnref > IVarListSafePtr
Definition: nmv-i-var-list.h:41
nmv-i-debugger.h
nemiver::common::ObjectUnref
Definition: nmv-safe-ptr-utils.h:55
nemiver::common::SafePtr
Definition: nmv-safe-ptr.h:71
nemiver::IVarList
Definition: nmv-i-var-list.h:43