Orocos Real-Time Toolkit
2.8.3
|
A simple introspection interface to visit PropertyBags. More...
#include <rtt/base/PropertyBagVisitor.hpp>
Public Member Functions | |
virtual | ~PropertyBagVisitor () |
virtual void | introspect (PropertyBase *p)=0 |
Callback for a Property which is not a PropertyBag. More... | |
virtual void | introspect (Property< PropertyBag > &p)=0 |
Callback for a Property which is a PropertyBag. More... | |
Protected Member Functions | |
bool | introspectAndDecompose (PropertyBase *t) |
The default handler to execute when an unknown type is being decomposed. More... | |
A simple introspection interface to visit PropertyBags.
A class which implements this interface can call bag.identify( this );
. For each property, introspect(PropertyBase* p) is called, unless the property contains a bag, then introspect(Property<PropertyBag>& p) is called, upon which you may call identify again on it's value(). The marshallers use this technique.
Definition at line 60 of file PropertyBagVisitor.hpp.
|
inlinevirtual |
Definition at line 72 of file PropertyBagVisitor.hpp.
|
pure virtual |
Callback for a Property which is not a PropertyBag.
Implemented in RTT::marsh::PropertyBagIntrospector, and RTT::base::PropertyIntrospection.
Referenced by RTT::Property< T >::identify(), RTT::base::PropertyBase::identify(), introspectAndDecompose(), and RTT::base::PropertyIntrospection::~PropertyIntrospection().
|
pure virtual |
Callback for a Property which is a PropertyBag.
Implemented in RTT::marsh::PropertyBagIntrospector.
|
protected |
The default handler to execute when an unknown type is being decomposed.
Definition at line 49 of file PropertyBagVisitor.cpp.
References RTT::types::TypeInfo::buildProperty(), RTT::types::TypeInfo::decomposeType(), RTT::deletePropertyBag(), RTT::base::PropertyBase::getDataSource(), RTT::base::PropertyBase::getDescription(), RTT::base::PropertyBase::getName(), RTT::base::PropertyBase::getTypeInfo(), introspect(), and RTT::types::propertyDecomposition().
Referenced by RTT::marsh::PropertyBagIntrospector::introspect().