Nemiver  0.3
Public Member Functions | Protected Member Functions | List of all members
nemiver::IVarWalker Class Referenceabstract

#include <nmv-i-var-walker.h>

Inheritance diagram for nemiver::IVarWalker:
nemiver::common::DynModIface nemiver::common::Object

Public Member Functions

virtual void connect (IDebugger *a_debugger, const UString &a_var_name)=0
 
virtual void connect (IDebugger *a_debugger, const IDebugger::VariableSafePtr a_var)=0
 
virtual void do_walk_variable (const UString &a_cookie="")=0
 
virtual const IDebugger::VariableSafePtr get_variable () const =0
 
virtual IDebuggerget_debugger () const =0
 gets the debugger the walker is connected to More...
 
virtual void set_maximum_member_depth (unsigned a_max_depth)=0
 
virtual unsigned get_maximum_member_depth () const =0
 
signals
virtual sigc::signal< void, const IDebugger::VariableSafePtrvisited_variable_node_signal () const =0
 
virtual sigc::signal< void, const IDebugger::VariableSafePtrvisited_variable_signal () const =0
 
- Public Member Functions inherited from nemiver::common::DynModIface
 DynModIface (DynamicModuleSafePtr &a_dynmod)
 
 DynModIface (DynamicModule *a_dynmod)
 
DynamicModuleget_dynamic_module () const
 
- Public Member Functions inherited from nemiver::common::Object
 Object ()
 
 Object (Object const &)
 
Objectoperator= (Object const &)
 
virtual ~Object ()
 
void ref ()
 
void unref ()
 
void enable_refcount (bool a_enabled=true)
 
bool is_refcount_enabled () const
 
long get_refcount () const
 
void attach_object (const UString &a_key, const Object *a_object)
 
bool get_attached_object (const UString &a_key, const Object *&a_object)
 

Protected Member Functions

 IVarWalker (DynamicModule *a_dynmod)
 

Additional Inherited Members

- Protected Attributes inherited from nemiver::common::Object
SafePtr< ObjectPrivm_priv
 

Detailed Description

Walker object. Queries recursively a variable and its members for their type and contents. When a member is queried for its content and type, the variable is said have been "walked" or "visited". The Walker then emits a "variable-walked" signal for each variable member node that has been walked.

Constructor & Destructor Documentation

◆ IVarWalker()

nemiver::IVarWalker::IVarWalker ( DynamicModule a_dynmod)
inlineprotected

Member Function Documentation

◆ connect() [1/2]

virtual void nemiver::IVarWalker::connect ( IDebugger a_debugger,
const IDebugger::VariableSafePtr  a_var 
)
pure virtual

◆ connect() [2/2]

virtual void nemiver::IVarWalker::connect ( IDebugger a_debugger,
const UString a_var_name 
)
pure virtual

connect the walker to a variable and to a debugger that will be use to walk that variable

◆ do_walk_variable()

virtual void nemiver::IVarWalker::do_walk_variable ( const UString a_cookie = "")
pure virtual

◆ get_debugger()

virtual IDebugger* nemiver::IVarWalker::get_debugger ( ) const
pure virtual

gets the debugger the walker is connected to

◆ get_maximum_member_depth()

virtual unsigned nemiver::IVarWalker::get_maximum_member_depth ( ) const
pure virtual

◆ get_variable()

virtual const IDebugger::VariableSafePtr nemiver::IVarWalker::get_variable ( ) const
pure virtual

gets the root variable this walker is connected to. this will return a non null variable if and only if the visited_root_variabls_signal() has been emited already.

◆ set_maximum_member_depth()

virtual void nemiver::IVarWalker::set_maximum_member_depth ( unsigned  a_max_depth)
pure virtual

accessor of the maximum depth of variable members to explore. this can prevent inifite recursions.

◆ visited_variable_node_signal()

virtual sigc::signal<void, const IDebugger::VariableSafePtr> nemiver::IVarWalker::visited_variable_node_signal ( ) const
pure virtual

emitted each time one of the members node of a variable is visited.

◆ visited_variable_signal()

virtual sigc::signal<void, const IDebugger::VariableSafePtr> nemiver::IVarWalker::visited_variable_signal ( ) const
pure virtual

emitted when the root variable (the one the walker has been connected has been totally visited. That means when all its members nodes have been visited.


The documentation for this class was generated from the following file: