#include <rtt/PropertyLoader.hpp>
The default file format is 'cpf' from the CPFMarshaller class.
Definition at line 51 of file PropertyLoader.hpp.
Public Member Functions | |
| bool | load (const std::string &filename, TaskContext *target) const |
| Read the XML cpf file and create (or refresh the matching properties) of the given TaskContext. | |
| bool | configure (const std::string &filename, TaskContext *target, bool all=true) const |
| Read the XML cpf file and 'refresh' the matching properties of the given TaskContext. | |
| bool | save (const std::string &filename, TaskContext *target, bool all=true) const |
| Write the XML cpf file with the properties of the given TaskContext. | |
| bool | configure (const std::string &filename, TaskContext *target, const std::string &name) const |
| Read a single property from a file. | |
| bool | save (const std::string &filename, TaskContext *target, const std::string &name) const |
| Write a single property to a file, or update an existing file. | |
| bool load | ( | const std::string & | filename, | |
| TaskContext * | target | |||
| ) | const |
Read the XML cpf file and create (or refresh the matching properties) of the given TaskContext.
Any property in the file which is not in the target, is created in the target.
| filename | The file to read from. | |
| target | The TaskContext to load the new properties into. |
Definition at line 53 of file PropertyLoader.cpp.
References RTT::copyProperties(), RTT::deletePropertyBag(), TaskContext::getName(), TaskContext::properties(), RTT::refreshProperties(), and RTT::updateProperties().
Referenced by MarshallingAccess::loadProperties().
| bool configure | ( | const std::string & | filename, | |
| TaskContext * | target, | |||
| bool | all = true | |||
| ) | const |
Read the XML cpf file and 'refresh' the matching properties of the given TaskContext.
There may be more properties in the file than properties in the target.
| filename | The file to read from. | |
| target | The TaskContext to configure. | |
| all | Configure all properties of target. Return an error if not all properties were found in filename. |
Definition at line 116 of file PropertyLoader.cpp.
References RTT::copyProperties(), RTT::deletePropertyBag(), TaskContext::getName(), TaskContext::properties(), and RTT::refreshProperties().
Referenced by MarshallingAccess::readProperties(), MarshallingAccess::readProperty(), and MarshallingAccess::updateProperties().
| bool save | ( | const std::string & | filename, | |
| TaskContext * | target, | |||
| bool | all = true | |||
| ) | const |
Write the XML cpf file with the properties of the given TaskContext.
The file is first read in, the resulting tree is updated with the task's properties and then written to disk again. This allows to share files between tasks.
| filename | The file to read from and write to (updating). | |
| target | The TaskContext to configure. | |
| all | Write out all properties of target to filename, add missing ones if necessary. |
Definition at line 175 of file PropertyLoader.cpp.
References RTT::deletePropertyBag(), TaskContext::getName(), PropertyBagIntrospector::introspect(), TaskContext::properties(), RTT::refreshProperties(), and RTT::updateProperties().
Referenced by MarshallingAccess::updateFile(), MarshallingAccess::writeProperties(), and MarshallingAccess::writeProperty().
| bool configure | ( | const std::string & | filename, | |
| TaskContext * | target, | |||
| const std::string & | name | |||
| ) | const |
Read a single property from a file.
| filename | The file to read from. | |
| target | The TaskContext to configure. | |
| name | The path to or name of a property in target. |
Definition at line 255 of file PropertyLoader.cpp.
References TaskContext::properties(), and RTT::refreshProperty().
| bool save | ( | const std::string & | filename, | |
| TaskContext * | target, | |||
| const std::string & | name | |||
| ) | const |
Write a single property to a file, or update an existing file.
| filename | The file to update or write to. | |
| target | The TaskContext to configure. | |
| name | The path to or name of a property in target. |
Definition at line 295 of file PropertyLoader.cpp.
References RTT::deletePropertyBag(), TaskContext::getName(), PropertyBagIntrospector::introspect(), TaskContext::properties(), and RTT::updateProperty().
1.5.6