#include <PropertyParser.hpp>
Public Member Functions | |
PropertyBag * | bag () const |
rule_t & | locator () |
base::PropertyBase * | property () const |
PropertyParser (CommonParser &cp) | |
void | reset () |
void | setPropertyBag (PropertyBag *pb) |
Private Types | |
enum | PropertyErrors { bag_not_found } |
Private Member Functions | |
error_status | handle_no_property (scanner_t const &scan, parser_error< PropertyErrors, iter_t > &e) |
void | locateproperty (iter_t begin, iter_t end) |
Private Attributes | |
PropertyBag * | _bag |
base::PropertyBase * | _property |
boost::iterator_difference < iter_t >::type | advance_on_error |
CommonParser & | commonparser |
guard< PropertyErrors > | my_guard |
rule_t | propertylocator |
Get the property and bag from an invocation path like bag.subbag.prop .
Definition at line 55 of file PropertyParser.hpp.
enum RTT::scripting::PropertyParser::PropertyErrors [private] |
Definition at line 64 of file PropertyParser.hpp.
Definition at line 64 of file PropertyParser.cpp.
PropertyBag* RTT::scripting::PropertyParser::bag | ( | ) | const [inline] |
Definition at line 99 of file PropertyParser.hpp.
error_status RTT::PropertyParser::handle_no_property | ( | scanner_t const & | scan, |
parser_error< PropertyErrors, iter_t > & | e | ||
) | [private] |
Definition at line 57 of file PropertyParser.cpp.
void RTT::PropertyParser::locateproperty | ( | iter_t | begin, |
iter_t | end | ||
) | [private] |
Definition at line 90 of file PropertyParser.cpp.
rule_t & RTT::PropertyParser::locator | ( | ) |
The locator tries to go as far as possible in the bag-to-property path and will never throw. property() will contain the last valid property found. If zero, nothing was found. If non-zero bag() returns the bag type if property is a bag, or zero if property() is not a bag. Thus property() contains the 'name' of the deepest nested bag() found.
Definition at line 124 of file PropertyParser.cpp.
base::PropertyBase* RTT::scripting::PropertyParser::property | ( | ) | const [inline] |
Definition at line 97 of file PropertyParser.hpp.
void RTT::PropertyParser::reset | ( | void | ) |
After reset, property() == 0 and bag == 0.
Definition at line 83 of file PropertyParser.cpp.
void RTT::PropertyParser::setPropertyBag | ( | PropertyBag * | pb | ) |
Change the bag we want to traverse.
Definition at line 76 of file PropertyParser.cpp.
PropertyBag* RTT::scripting::PropertyParser::_bag [private] |
Definition at line 59 of file PropertyParser.hpp.
Definition at line 60 of file PropertyParser.hpp.
boost::iterator_difference<iter_t>::type RTT::scripting::PropertyParser::advance_on_error [private] |
set by locateproperty, read by handle_no_property
Definition at line 70 of file PropertyParser.hpp.
Definition at line 57 of file PropertyParser.hpp.
guard<PropertyErrors> RTT::scripting::PropertyParser::my_guard [private] |
Definition at line 65 of file PropertyParser.hpp.
rule_t RTT::scripting::PropertyParser::propertylocator [private] |
Definition at line 58 of file PropertyParser.hpp.