Orocos Real-Time Toolkit
2.9.0
|
Service requester to load and save properties of a TaskContext. More...
#include <rtt/marsh/Marshalling.hpp>
Public Types | |
typedef std::vector< std::string > | RequesterNames |
typedef std::vector< std::string > | OperationCallerNames |
typedef boost::shared_ptr< ServiceRequester > | shared_ptr |
typedef boost::shared_ptr< const ServiceRequester > | shared_constptr |
Public Member Functions | |
Marshalling (TaskContext *parent) | |
This object is normally created by a TaskContext. More... | |
~Marshalling () | |
const std::string & | getRequestName () const |
RequesterNames | getRequesterNames () const |
TaskContext * | getServiceOwner () const |
The owner is the top-level TaskContext owning this service (indirectly). More... | |
void | setOwner (TaskContext *new_owner) |
Sets the owning TaskContext that is considered as the caller of requested operations. More... | |
Service::shared_ptr | getReferencedService () |
Returns the service we're referencing. More... | |
bool | addOperationCaller (base::OperationCallerBaseInvoker &mbi) |
OperationCallerNames | getOperationCallerNames () const |
base::OperationCallerBaseInvoker * | getOperationCaller (const std::string &name) |
ServiceRequester::shared_ptr | requires () |
ServiceRequester::shared_ptr | requires (const std::string &service_name) |
bool | addServiceRequester (shared_ptr obj) |
Add a new ServiceRequester to this TaskContext. More... | |
bool | requiresService (const std::string &service_name) |
Query if this service requires certain sub-services. More... | |
virtual bool | connectTo (Service::shared_ptr sp) |
Connects this service's methods to the operations provided by op. More... | |
virtual bool | ready () const |
Returns true when all methods were resolved. More... | |
virtual void | disconnect () |
Disconnects all methods from their implementation. More... | |
virtual void | clear () |
Remove all operation callers from this service requester. More... | |
Public Attributes | |
OperationCaller< bool(const std::string &filename)> | loadProperties |
Read a property file and update (or create any missing) properties in the TaskContext. More... | |
OperationCaller< bool(const std::string &filename)> | storeProperties |
Stores all properties of parent TaskContext in a new file or overwrite an existing one. More... | |
OperationCaller< bool(const std::string &filename)> | readProperties |
Read the property file and 'refresh' all the properties of the TaskContext. More... | |
OperationCaller< bool(const std::string &filename)> | updateProperties |
Read the property file and 'refresh' some properties of the TaskContext. More... | |
OperationCaller< bool(const std::string &name, const std::string &filename)> | readProperty |
Read a single property from a file. More... | |
OperationCaller< bool(const std::string &filename)> | writeProperties |
Write the property file with the properties of a TaskContext. More... | |
OperationCaller< bool(const std::string &filename)> | updateFile |
Write the property file with the properties of a TaskContext, which are already present in filename. More... | |
OperationCaller< bool(const std::string &name, const std::string &filename)> | writeProperty |
Write a single property to a file. More... | |
Protected Types | |
typedef std::map< std::string, ServiceRequester::shared_ptr > | Requests |
typedef std::map< std::string, base::OperationCallerBaseInvoker * > | OperationCallers |
Our methods. More... | |
Protected Attributes | |
Requests | mrequests |
the services we implement. More... | |
OperationCallers | mmethods |
std::string | mrname |
TaskContext * | mrowner |
Service::shared_ptr | mprovider |
Service requester to load and save properties of a TaskContext.
Definition at line 53 of file Marshalling.hpp.
|
inherited |
Definition at line 86 of file ServiceRequester.hpp.
|
protectedinherited |
Our methods.
Definition at line 186 of file ServiceRequester.hpp.
|
inherited |
Definition at line 85 of file ServiceRequester.hpp.
|
protectedinherited |
Definition at line 181 of file ServiceRequester.hpp.
|
inherited |
Definition at line 88 of file ServiceRequester.hpp.
|
inherited |
Definition at line 87 of file ServiceRequester.hpp.
RTT::Marshalling::Marshalling | ( | TaskContext * | parent | ) |
This object is normally created by a TaskContext.
Definition at line 43 of file Marshalling.cpp.
References RTT::ServiceRequester::addOperationCaller(), loadProperties, readProperties, readProperty, storeProperties, updateFile, updateProperties, writeProperties, and writeProperty.
RTT::Marshalling::~Marshalling | ( | ) |
Definition at line 64 of file Marshalling.cpp.
|
inherited |
Definition at line 63 of file ServiceRequester.cpp.
References RTT::Error, RTT::base::OperationCallerBaseInvoker::getName(), and RTT::ServiceRequester::mmethods.
Referenced by Marshalling(), and RTT::Scripting::Scripting().
|
inherited |
Add a new ServiceRequester to this TaskContext.
obj | This object becomes owned by this TaskContext. |
Definition at line 126 of file ServiceRequester.cpp.
References RTT::Error, RTT::ServiceRequester::mrequests, and RTT::ServiceRequester::mrowner.
Referenced by RTT::ServiceRequester::requires().
|
virtualinherited |
Remove all operation callers from this service requester.
Definition at line 189 of file ServiceRequester.cpp.
References RTT::ServiceRequester::mmethods, and RTT::ServiceRequester::mrequests.
|
virtualinherited |
Connects this service's methods to the operations provided by op.
This method tries to match as many as possible method-operation pairs.
You may call this function with different instances of sp to 'resolve' missing functions, only the non-connected methods will be further filled in.
sp | An interface-compatible Service. |
Definition at line 140 of file ServiceRequester.cpp.
References RTT::Debug, RTT::base::TaskCore::engine(), RTT::Info, RTT::ServiceRequester::mmethods, RTT::ServiceRequester::mprovider, RTT::ServiceRequester::mrname, RTT::ServiceRequester::mrowner, and RTT::ServiceRequester::ready().
|
virtualinherited |
Disconnects all methods from their implementation.
Definition at line 172 of file ServiceRequester.cpp.
References RTT::base::OperationCallerBaseInvoker::disconnect(), and RTT::ServiceRequester::mmethods.
|
inherited |
Definition at line 84 of file ServiceRequester.cpp.
References RTT::ServiceRequester::mmethods.
|
inherited |
Definition at line 74 of file ServiceRequester.cpp.
References RTT::internal::keys(), and RTT::ServiceRequester::mmethods.
|
inlineinherited |
Returns the service we're referencing.
In case you used connectTo to more than one service, this returns the service which was used when connectTo first returned true.
Definition at line 120 of file ServiceRequester.hpp.
|
inherited |
Definition at line 79 of file ServiceRequester.cpp.
References RTT::internal::keys(), and RTT::ServiceRequester::mrequests.
|
inlineinherited |
Definition at line 98 of file ServiceRequester.hpp.
|
inlineinherited |
The owner is the top-level TaskContext owning this service (indirectly).
Definition at line 106 of file ServiceRequester.hpp.
|
virtualinherited |
Returns true when all methods were resolved.
Definition at line 179 of file ServiceRequester.cpp.
References RTT::Debug, and RTT::ServiceRequester::mmethods.
Referenced by RTT::ServiceRequester::connectTo().
|
inherited |
Definition at line 103 of file ServiceRequester.cpp.
References RTT::Error.
Referenced by RTT::ServiceRequester::requires().
|
inherited |
Definition at line 114 of file ServiceRequester.cpp.
References RTT::ServiceRequester::addServiceRequester(), RTT::ServiceRequester::mrequests, RTT::ServiceRequester::mrowner, and RTT::ServiceRequester::requires().
|
inlineinherited |
Query if this service requires certain sub-services.
service_name |
Definition at line 147 of file ServiceRequester.hpp.
|
inherited |
Sets the owning TaskContext that is considered as the caller of requested operations.
Definition at line 92 of file ServiceRequester.cpp.
References RTT::base::TaskCore::engine(), RTT::ServiceRequester::mmethods, RTT::ServiceRequester::mrequests, and RTT::ServiceRequester::mrowner.
OperationCaller<bool (const std::string& filename)> RTT::Marshalling::loadProperties |
Read a property file and update (or create any missing) properties in the TaskContext.
This function allows to dynamically add properties to a component. This can be useful in combination with Orocos scripts when the script requires additional properties from the parent TaskContext.
Definition at line 70 of file Marshalling.hpp.
Referenced by Marshalling().
|
protectedinherited |
Definition at line 187 of file ServiceRequester.hpp.
Referenced by RTT::ServiceRequester::addOperationCaller(), RTT::ServiceRequester::clear(), RTT::ServiceRequester::connectTo(), RTT::ServiceRequester::disconnect(), RTT::ServiceRequester::getOperationCaller(), RTT::ServiceRequester::getOperationCallerNames(), RTT::ServiceRequester::ready(), and RTT::ServiceRequester::setOwner().
|
protectedinherited |
Definition at line 191 of file ServiceRequester.hpp.
Referenced by RTT::ServiceRequester::connectTo().
|
protectedinherited |
the services we implement.
Definition at line 183 of file ServiceRequester.hpp.
Referenced by RTT::ServiceRequester::addServiceRequester(), RTT::ServiceRequester::clear(), RTT::ServiceRequester::getRequesterNames(), RTT::ServiceRequester::requires(), and RTT::ServiceRequester::setOwner().
|
protectedinherited |
Definition at line 189 of file ServiceRequester.hpp.
Referenced by RTT::ServiceRequester::connectTo().
|
protectedinherited |
Definition at line 190 of file ServiceRequester.hpp.
Referenced by RTT::ServiceRequester::addServiceRequester(), RTT::ServiceRequester::connectTo(), RTT::ServiceRequester::requires(), and RTT::ServiceRequester::setOwner().
OperationCaller<bool (const std::string& filename)> RTT::Marshalling::readProperties |
Read the property file and 'refresh' all the properties of the TaskContext.
There may be more properties in the file than properties in the TaskContext, but all properties of the TaskContext must be present in filename. In case a type mismatch occurs, this method will fail and update no properties.
filename | The file to read from. |
Definition at line 90 of file Marshalling.hpp.
Referenced by Marshalling().
OperationCaller<bool (const std::string& name,const std::string& filename)> RTT::Marshalling::readProperty |
Read a single property from a file.
The name may be a 'path' like location of a Property in the hierarchy.
name | The name of the property in the file. For example "MyProp" for a top-level property or "Settings.XML.Editor" to specify a dot-separated 'path' to the property 'Editor'. |
filename | The name of the file in which to lookup name. |
Definition at line 111 of file Marshalling.hpp.
Referenced by Marshalling().
OperationCaller<bool (const std::string& filename)> RTT::Marshalling::storeProperties |
Stores all properties of parent TaskContext in a new file or overwrite an existing one.
The file given in filename will always be overwritten and any existing content will be lost.
filename | The file to store to. |
Definition at line 80 of file Marshalling.hpp.
Referenced by Marshalling().
OperationCaller<bool (const std::string& filename)> RTT::Marshalling::updateFile |
Write the property file with the properties of a TaskContext, which are already present in filename.
No new entries are created in the file, only existing ones are updated. The file is first read in, the resulting tree is updated with the task's properties, and then written to disk again.
filename | The file to read from and write to. |
Definition at line 132 of file Marshalling.hpp.
Referenced by Marshalling().
OperationCaller<bool (const std::string& filename)> RTT::Marshalling::updateProperties |
Read the property file and 'refresh' some properties of the TaskContext.
There may be more properties in the file than properties in the TaskContext, and some may be missing in the file. This method will update 'as much as possible' properties. In case a type mismatch occurs, this method will fail and update no properties.
filename | The file to read all the properties from. |
Definition at line 101 of file Marshalling.hpp.
Referenced by Marshalling().
OperationCaller<bool (const std::string& filename)> RTT::Marshalling::writeProperties |
Write the property file with the properties of a 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). |
Definition at line 121 of file Marshalling.hpp.
Referenced by Marshalling().
OperationCaller<bool (const std::string& name, const std::string& filename)> RTT::Marshalling::writeProperty |
Write a single property to a file.
The name may be a 'path' like location of a Property in the hierarchy.
name | The name of the property in the file. For example "MyProp" for a top-level property or "Settings.XML.Editor" to specify a dot-separated 'path' to the property 'Editor'. |
filename | The name of the file in which to write name. |
Definition at line 142 of file Marshalling.hpp.
Referenced by Marshalling().