Orocos Real-Time Toolkit  2.8.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
RTT::marsh::MarshallingService Class Reference

Service which loads and saves properties of a TaskContext. More...

#include <rtt/marsh/MarshallingService.hpp>

Inheritance diagram for RTT::marsh::MarshallingService:
RTT::Service RTT::OperationInterface RTT::ConfigurationInterface RTT::DataFlowInterface

Public Types

typedef boost::shared_ptr< MarshallingServiceshared_ptr
 
typedef OperationInterface Factory
 
typedef boost::shared_ptr< const Serviceshared_constptr
 
typedef std::vector< std::string > ProviderNames
 
typedef std::vector< base::DataSourceBase::shared_ptrArguments
 The arguments for an operation. More...
 
typedef std::vector< ArgumentDescriptionDescriptions
 The descriptions of an argumentlist. More...
 
typedef std::vector< std::string > AttributeNames
 A vector containing the names of all attribute objects in this repository. More...
 
typedef std::vector< base::AttributeBase * > AttributeObjects
 A vector containing pointers to all attribute objects stored in this repository. More...
 
typedef std::vector< base::PortInterface * > Ports
 A sequence of pointers to ports. More...
 
typedef std::vector< std::string > PortNames
 A sequence of names of ports. More...
 
typedef boost::function< void(base::PortInterface *)> SlotFunction
 

Public Member Functions

 MarshallingService (TaskContext *parent)
 Creates a MarshallingService object. More...
 
bool loadProperties (const std::string &filename) const
 Read a property file and update (or create any missing) properties in the TaskContext. More...
 
bool storeProperties (const std::string &filename) const
 Stores all properties of a TaskContext in a new file or overwrite an existing one. More...
 
bool readProperties (const std::string &filename) const
 Read the property file and 'refresh' all the properties of the TaskContext. More...
 
bool updateProperties (const std::string &filename) const
 Read the property file and 'refresh' some properties of the TaskContext. More...
 
bool readProperty (const std::string &name, const std::string &filename)
 Read a single property from a file. More...
 
bool writeProperties (const std::string &filename) const
 Write the property file with the properties of a TaskContext. More...
 
bool updateFile (const std::string &filename) const
 Write the property file with the properties of a TaskContext, which are already present in filename. More...
 
bool writeProperty (const std::string &name, const std::string &filename)
 Write a single property to a file. More...
 
bool loadServiceProperties (const std::string &filename, const std::string &servicename) const
 Read a property file and update (or create any missing) properties of a Service. More...
 
bool storeServiceProperties (const std::string &filename, const std::string &servicename) const
 Stores all properties of a Service in a new file or overwrite an existing one. More...
 
bool readServiceProperties (const std::string &filename, const std::string &servicename) const
 Read the property file and 'refresh' all the properties of a Service. More...
 
bool updateServiceProperties (const std::string &filename, const std::string &servicename) const
 Read the property file and 'refresh' some properties of the Service. More...
 
bool readServiceProperty (const std::string &name, const std::string &filename, const std::string &servicename)
 Read a single property from a file. More...
 
bool writeServiceProperties (const std::string &filename, const std::string &servicename) const
 Write the property file with the properties of a Service. More...
 
bool updateServiceFile (const std::string &filename, const std::string &servicename) const
 Write the property file with the properties of a Service, which are already present in filename. More...
 
bool writeServiceProperty (const std::string &name, const std::string &filename, const std::string &servicename)
 Write a single property to a file. More...
 
const std::string & getName () const
 Returns the name of this service instance. More...
 
const std::string & doc () const
 Returns a descriptive text for this service. More...
 
void doc (const std::string &description)
 Sets the descriptive text for this service. More...
 
void setName (const std::string &name)
 Changes the name of this service. More...
 
void setOwner (TaskContext *new_owner)
 Sets the owning TaskContext that will execute the operations in this service. More...
 
void setParent (shared_ptr new_parent)
 Sets the parent service in case this service is a sub-service. More...
 
shared_ptr getParent () const
 The parent is the direct parent of this service. More...
 
virtual ProviderNames getProviderNames () const
 Return a standard container which contains all the sub-service names of this Service. More...
 
TaskContextgetOwner () const
 The owner is the top-level TaskContext owning this service (indirectly). More...
 
ExecutionEnginegetOwnerExecutionEngine () const
 Return the execution engine of this service owner. More...
 
virtual bool addService (shared_ptr obj)
 Add a new sub-service to this Service. More...
 
virtual void removeService (std::string const &service_name)
 Remove a previously added sub-service, potentially freeing it (and this) from memory. More...
 
Service::shared_ptr provides ()
 Returns this Service, unless no shared_ptr yet exists. More...
 
Service::shared_ptr provides (const std::string &service_name)
 Returns a sub-Service which resorts under this Service, creating a new one if it does not yet exists. More...
 
shared_ptr getService (const std::string &service_name)
 Returns a shared pointer to strictly a sub-service of a null pointer if !hasService(service_name). More...
 
ServicegetService () const
 Returns the service this interface belongs to. More...
 
bool hasService (const std::string &service_name)
 Check if this service has the sub-service service_name. More...
 
void clear ()
 Clear all added operations, properties and sub-services from this Service. More...
 
std::vector< std::string > getOperationNames () const
 Returns the names of all operations added to this interface. More...
 
bool hasOperation (const std::string &name) const
 Query for the existence of a Operation in this interface. More...
 
bool addLocalOperation (base::OperationBase &op)
 Add an Operation object to the operation interface. More...
 
boost::shared_ptr< base::DisposableInterfacegetLocalOperation (std::string name)
 Get a locally added operation from this interface. More...
 
OperationInterfacePartgetOperation (std::string name)
 Get a previously added operation for use in a C++ OperationCaller object. More...
 
base::DataSourceBase::shared_ptr getOperation (std::string name, const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
 For internal use only. More...
 
void removeOperation (const std::string &name)
 Removes a previously added operation. More...
 
bool setOperationThread (std::string const &name, ExecutionThread et)
 Sets the thread of execution of a previously added operation. More...
 
template<class Signature >
Operation< Signature > & addOperation (Operation< Signature > &op)
 Add an operation object to the interface. More...
 
template<class Func , class Class >
Operation< typename internal::GetSignature< Func >::Signature > & addOperation (const std::string name, Func func, Class *obj, ExecutionThread et=ClientThread)
 Add an operation to the interface by means of a C++ Class member function. More...
 
template<class Func >
Operation< Func > & addOperation (const std::string name, Func *func, ExecutionThread et=ClientThread)
 Add an operation to the interface by means of a free C/C++ function. More...
 
template<class Signature >
Operation< Signature > & addSynchronousOperation (Operation< Signature > &op)
 Add an operation object to the interface. More...
 
template<class Func , class Class >
Operation< typename internal::GetSignature< Func >::Signature > & addSynchronousOperation (const std::string name, Func func, Class *obj, ExecutionThread et=ClientThread)
 Add an operation to the synchronous interface by means of a function. More...
 
template<class Func , class ObjT >
Operation< typename internal::GetSignatureDS< Func >::Signature > & addOperationDS (const std::string &name, Func func, internal::DataSource< boost::shared_ptr< ObjT > > *sp, ExecutionThread et=ClientThread)
 For internal use only. More...
 
template<class Signature , class ObjT >
Operation< Signature > & addOperationDS (internal::DataSource< boost::shared_ptr< ObjT > > *sp, Operation< Signature > &op)
 For internal use only. More...
 
internal::OperationCallerC create (std::string name, ExecutionEngine *caller)
 Create a OperationCallerC object, a template-less operation invocation object. More...
 
bool resetOperation (std::string name, base::OperationBase *impl)
 Reset the implementation of a operation. More...
 
std::vector< std::string > getNames () const
 Get a list of all the names of the added operations. More...
 
bool hasMember (const std::string &name) const
 Query if an operation is present. More...
 
int getArity (const std::string &name) const
 Query the number of arguments of an operation. More...
 
int getCollectArity (const std::string &name) const
 Query the collectable number of arguments of an operation. More...
 
bool isSynchronous (const std::string &name) const
 Query if a given operation is limited to sychronous invocation (own component thread) only. More...
 
base::DataSourceBase::shared_ptr produce (const std::string &name, const Arguments &args, ExecutionEngine *caller) const
 Produce a DataSource that call()s an operation. More...
 
base::DataSourceBase::shared_ptr produceSend (const std::string &name, const Arguments &args, ExecutionEngine *caller) const
 Produce a DataSource that send()s an operation. More...
 
base::DataSourceBase::shared_ptr produceHandle (const std::string &name) const
 Produce an AssignableDataSource that contains a SendHandle, fit for the operation. More...
 
base::DataSourceBase::shared_ptr produceCollect (const std::string &name, const Arguments &args, internal::DataSource< bool >::shared_ptr blocking) const
 Produce a DataSource that collects a sent operation, The DataSource will return the SendStatus and store the results in the presented arguments. More...
 
Descriptions getArgumentList (const std::string &name) const
 Get the names and descriptions of all arguments of an operation. More...
 
std::string getResultType (const std::string &name) const
 Get the type name of the result type of an operation. More...
 
std::string getDescription (const std::string &name) const
 Get the description of an operation. More...
 
void add (const std::string &name, OperationInterfacePart *part)
 Add a new operation to the interface or replace an existing one. More...
 
void remove (const std::string &name)
 Remove an added operation from the interface. More...
 
OperationInterfacePartgetPart (const std::string &name)
 Get a previously added part of this factory. More...
 
bool hasAttribute (const std::string &name) const
 Check if an attribute is present in this interface. More...
 
template<class T >
bool addAttribute (const std::string &name, T &attr)
 Adds a variable of any type as read/write attribute to the configuration interface. More...
 
template<class T >
Attribute< T > & addAttribute (const std::string &name, Attribute< T > &attr)
 Adds an existing attribute object to the configuration interface. More...
 
bool addAttribute (base::AttributeBase &a)
 Add an base::AttributeBase which remains owned by the user. More...
 
template<class T >
bool addConstant (const std::string &name, const T &cnst)
 Adds a variable of any type as read-only attribute to the configuration interface. More...
 
template<class T >
Constant< T > & addConstant (const std::string &name, Constant< T > &cnst)
 Adds an existing constant object to the configuration interface. More...
 
bool addConstant (base::AttributeBase &c)
 Add a Constant with a given value. More...
 
template<class T >
Property< T > & addProperty (const std::string &name, T &prop)
 Adds a variable of any type as a property to the configuration interface. More...
 
template<class T >
Property< T > & addProperty (const std::string &name, Property< T > &prop)
 Adds an existing property object to the configuration interface. More...
 
bool addProperty (base::PropertyBase &pb)
 Add an base::PropertyBase as a property. More...
 
base::AttributeBasegetAttribute (const std::string &name) const
 
void removeAttribute (const std::string &name)
 Remove an attribute from the repository. More...
 
base::AttributeBasegetConstant (const std::string &name) const
 
bool hasProperty (const std::string &name) const
 Check if a property is present. More...
 
bool removeProperty (base::PropertyBase &p)
 Remove a previously added Property and associated attribute. More...
 
base::PropertyBasegetProperty (const std::string &name) const
 Get a Property with name name. More...
 
bool setValue (base::AttributeBase *ab)
 Transfer the ownership of an attribute to the repository. More...
 
base::AttributeBasegetValue (const std::string &name) const
 
bool removeValue (const std::string &name)
 Delete a value added with setValue from the repository. More...
 
ConfigurationInterfacecopy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &repl, bool instantiate) const
 Return a new copy of this repository with the copy operation semantics. More...
 
void loadValues (AttributeObjects const &new_values)
 Adds these attributes to this repository. More...
 
AttributeObjects const & getValues () const
 Returns all attributes in this repository. More...
 
AttributeNames getAttributeNames () const
 Return the names of all attributes in this repository. More...
 
PropertyBagproperties ()
 Return a bag of all properties. More...
 
base::PortInterfaceaddPort (const std::string &name, base::PortInterface &port)
 Name and add a Port to the interface of this task and add a Service with the same name of the port. More...
 
base::PortInterfaceaddPort (base::PortInterface &port)
 Add a Port to the interface of this task and add a Service with the same name of the port. More...
 
base::InputPortInterfaceaddEventPort (const std::string &name, base::InputPortInterface &port, SlotFunction callback=SlotFunction())
 Name and add an Event triggering Port to the interface of this task and add a Service with the same name of the port. More...
 
base::InputPortInterfaceaddEventPort (base::InputPortInterface &port, SlotFunction callback=SlotFunction())
 Add an Event triggering Port to the interface of this task and add a Service with the same name of the port. More...
 
void removePort (const std::string &name)
 Remove a Port from this interface. More...
 
Ports getPorts () const
 Get all ports of this interface. More...
 
PortNames getPortNames () const
 Get all port names of this interface. More...
 
base::PortInterfacegetPort (const std::string &name) const
 Get an added port. More...
 
std::string getPortDescription (const std::string &name) const
 Get the description of an added Port. More...
 
bool setPortDescription (const std::string &name, const std::string description)
 Sets the description for the service of an added port. More...
 
base::PortInterfaceaddLocalPort (base::PortInterface &port)
 Add a Port to this task without registering a service for it. More...
 
base::InputPortInterfaceaddLocalEventPort (base::InputPortInterface &port, SlotFunction callback=SlotFunction())
 Add an Event triggering Port to this task without registering a service for it. More...
 
void removeLocalPort (const std::string &name)
 Remove a locally added Port from this interface. More...
 
template<class Type >
Type * getPortType (const std::string &name)
 Get a port of a specific type. More...
 
void dataOnPort (base::PortInterface *port)
 Used by the input ports to notify this class of new data. More...
 

Static Public Member Functions

static shared_ptr Create (TaskContext *parent)
 Creates a MarshallingService object and registers the service to parent. More...
 
static Service::shared_ptr Create (const std::string &name, TaskContext *owner=0)
 Creates a Service with a name and an owner. More...
 

Protected Types

typedef std::map< std::string, shared_ptrServices
 
typedef std::map< std::string, base::OperationBase * > SimpleOperations
 
typedef std::vector< base::OperationBase * > OperationList
 
typedef std::map< std::string, OperationInterfacePart * > map_t
 
typedef std::vector< base::AttributeBase * > map_t
 

Protected Member Functions

bool testOperation (base::OperationBase &op)
 
bool chkPtr (const std::string &where, const std::string &name, const void *ptr)
 
bool chkPtr (const std::string &where, const std::string &name, const void *ptr)
 
ServicecreatePortObject (const std::string &name)
 Create a Service through which one can access a Port. More...
 

Protected Attributes

Services services
 the services we implement. More...
 
SimpleOperations simpleoperations
 
OperationList ownedoperations
 
std::string mname
 
std::string mdescription
 
TaskContextmowner
 
shared_ptr parent
 
map_t data
 
map_t values
 
PropertyBag bag
 
Ports mports
 All our ports. More...
 
Servicemservice
 The parent Service. More...
 

Detailed Description

Service which loads and saves properties of a TaskContext.

Definition at line 54 of file MarshallingService.hpp.

Member Typedef Documentation

The arguments for an operation.

Definition at line 71 of file OperationInterface.hpp.

typedef std::vector<std::string> RTT::ConfigurationInterface::AttributeNames
inherited

A vector containing the names of all attribute objects in this repository.

Definition at line 74 of file ConfigurationInterface.hpp.

A vector containing pointers to all attribute objects stored in this repository.

Definition at line 80 of file ConfigurationInterface.hpp.

The descriptions of an argumentlist.

Definition at line 204 of file OperationInterface.hpp.

Definition at line 100 of file Service.hpp.

typedef std::map<std::string, OperationInterfacePart*> RTT::OperationInterface::map_t
protectedinherited

Definition at line 65 of file OperationInterface.hpp.

typedef std::vector<base::AttributeBase*> RTT::ConfigurationInterface::map_t
protectedinherited

Definition at line 336 of file ConfigurationInterface.hpp.

typedef std::vector<base::OperationBase*> RTT::Service::OperationList
protectedinherited

Definition at line 567 of file Service.hpp.

typedef std::vector<std::string> RTT::DataFlowInterface::PortNames
inherited

A sequence of names of ports.

Definition at line 70 of file DataFlowInterface.hpp.

typedef std::vector<base::PortInterface*> RTT::DataFlowInterface::Ports
inherited

A sequence of pointers to ports.

Definition at line 65 of file DataFlowInterface.hpp.

typedef std::vector<std::string> RTT::Service::ProviderNames
inherited

Definition at line 103 of file Service.hpp.

typedef std::map< std::string, shared_ptr > RTT::Service::Services
protectedinherited

Definition at line 561 of file Service.hpp.

typedef boost::shared_ptr<const Service> RTT::Service::shared_constptr
inherited

Definition at line 102 of file Service.hpp.

Definition at line 58 of file MarshallingService.hpp.

typedef std::map<std::string,base::OperationBase* > RTT::Service::SimpleOperations
protectedinherited

Definition at line 566 of file Service.hpp.

typedef boost::function<void(base::PortInterface*)> RTT::DataFlowInterface::SlotFunction
inherited

Definition at line 72 of file DataFlowInterface.hpp.

Constructor & Destructor Documentation

RTT::MarshallingService::MarshallingService ( TaskContext parent)

Member Function Documentation

void OperationInterface::add ( const std::string &  name,
OperationInterfacePart part 
)
inherited

Add a new operation to the interface or replace an existing one.

Parameters
nameThe name of the operation
partA part which creates the operation.

Definition at line 170 of file OperationInterface.cpp.

template<class T >
bool RTT::ConfigurationInterface::addAttribute ( const std::string &  name,
T &  attr 
)
inlineinherited

Adds a variable of any type as read/write attribute to the configuration interface.

An Alias is created which causes contents of the attr variable always to be in sync with the contents of the attribute object in the interface.

Parameters
nameThe name of this attribute
attrThe variable that will be aliased.

Definition at line 101 of file ConfigurationInterface.hpp.

template<class T >
Attribute<T>& RTT::ConfigurationInterface::addAttribute ( const std::string &  name,
Attribute< T > &  attr 
)
inlineinherited

Adds an existing attribute object to the configuration interface.

Parameters
nameThe name of this attribute. attr will be initialized with this name.
attrThe attribute to add
Returns
the Attribute object by reference, which you can further query or use.
Postcondition
attr.ready() == true

Definition at line 115 of file ConfigurationInterface.hpp.

References RTT::base::AttributeBase::ready(), and RTT::base::AttributeBase::setName().

bool RTT::ConfigurationInterface::addAttribute ( base::AttributeBase a)
inlineinherited

Add an base::AttributeBase which remains owned by the user.

This is a low-level function that can be used if you already created an Attribute object that does not belong yet to a service.

Parameters
aremains owned by the user, and becomes served by the repository.

Definition at line 204 of file ConfigurationInterface.hpp.

References RTT::base::AttributeBase::clone(), and RTT::base::AttributeBase::getDataSource().

template<class T >
bool RTT::ConfigurationInterface::addConstant ( const std::string &  name,
const T &  cnst 
)
inlineinherited

Adds a variable of any type as read-only attribute to the configuration interface.

An Alias is created which causes contents of the attribute always to be in sync with the contents of cnst, but it can only be read through the interface.

Parameters
nameThe name of this attribute
cnstThe variable that will be aliased.

Definition at line 135 of file ConfigurationInterface.hpp.

template<class T >
Constant<T>& RTT::ConfigurationInterface::addConstant ( const std::string &  name,
Constant< T > &  cnst 
)
inlineinherited

Adds an existing constant object to the configuration interface.

Parameters
nameThe name of this constant. cnst will be initialized with this name.
cnstThe constant to add. If cnst has not been initialized, it will be initialized to T(). You can change it later-on using the Constant's API.
Returns
the Constant object by reference, which you can further query or use.
Postcondition
cnst.ready() == true

Definition at line 150 of file ConfigurationInterface.hpp.

References RTT::base::AttributeBase::ready(), and RTT::base::AttributeBase::setName().

bool RTT::ConfigurationInterface::addConstant ( base::AttributeBase c)
inlineinherited

Add a Constant with a given value.

See also
getConstant

Definition at line 232 of file ConfigurationInterface.hpp.

References RTT::base::AttributeBase::clone(), and RTT::base::AttributeBase::getDataSource().

base::InputPortInterface& RTT::DataFlowInterface::addEventPort ( const std::string &  name,
base::InputPortInterface port,
SlotFunction  callback = SlotFunction() 
)
inlineinherited

Name and add an Event triggering Port to the interface of this task and add a Service with the same name of the port.

Parameters
nameThe name to give to the port.
portThe port to add.
callback(Optional) provide a function which will be called asynchronously when new data arrives on this port. You can add more functions by using the port directly using base::PortInterface::getNewDataOnPort().

Definition at line 114 of file DataFlowInterface.hpp.

References RTT::base::PortInterface::setName().

InputPortInterface & RTT::DataFlowInterface::addEventPort ( base::InputPortInterface port,
SlotFunction  callback = SlotFunction() 
)
inherited

Add an Event triggering Port to the interface of this task and add a Service with the same name of the port.

When data arrives on this port your TaskContext will be woken up and updateHook will be executed.

Parameters
portThe port to add.
callback(Optional) provide a function which will be called when new data arrives on this port. The callback function will be called in sequence with updateHook(), so asynchronously with regard to the arrival of data on the port.
Returns
port

Definition at line 97 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::addLocalEventPort(), RTT::Service::addService(), RTT::DataFlowInterface::chkPtr(), RTT::Handle::connect(), RTT::DataFlowInterface::createPortObject(), RTT::Handle::disconnect(), RTT::base::PortInterface::getName(), RTT::Service::hasService(), RTT::DataFlowInterface::mservice, RTT::Service::provides(), RTT::Service::removeService(), and RTT::Warning.

InputPortInterface & RTT::DataFlowInterface::addLocalEventPort ( base::InputPortInterface port,
SlotFunction  callback = SlotFunction() 
)
inherited

Add an Event triggering Port to this task without registering a service for it.

When data arrives on this port your TaskContext will be woken up and updateHook will be executed.

Parameters
portThe port to add.
callback(Optional) provide a function which will be called when new data arrives on this port. The callback function will be called in sequence with updateHook(), so asynchronously with regard to the arrival of data on the port.
Returns
port

Definition at line 135 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::addLocalPort(), RTT::Error, RTT::base::PortInterface::getName(), RTT::Service::getName(), RTT::Service::getOwner(), RTT::Info, RTT::DataFlowInterface::mservice, and RTT::base::InputPortInterface::signalInterface().

Referenced by RTT::DataFlowInterface::addEventPort().

bool RTT::Service::addLocalOperation ( base::OperationBase op)
inherited

Add an Operation object to the operation interface.

This version of addOperation does not add the Operation object to the remote interface and only to the local, in-process C++ interface.

Note
Do not use this function unless you know what you're doing.
See also
addOperation() for adding normal, remotely available operations.
Parameters
opThe Operation object to add
Returns
true if it could be added, false otherwise.

Definition at line 185 of file Service.cpp.

References RTT::base::TaskCore::engine(), RTT::Error, RTT::base::OperationBase::getImplementation(), RTT::base::OperationBase::getName(), RTT::Service::mowner, RTT::Service::removeOperation(), RTT::base::OperationBase::setOwner(), RTT::Service::simpleoperations, and RTT::Warning.

PortInterface & RTT::DataFlowInterface::addLocalPort ( base::PortInterface port)
inherited

Add a Port to this task without registering a service for it.

If a port with the same name already exists, addPort will replace it with port and log a warning.

Returns
port

Definition at line 82 of file DataFlowInterface.cpp.

References RTT::base::PortInterface::getName(), RTT::DataFlowInterface::mports, RTT::DataFlowInterface::removeLocalPort(), RTT::base::PortInterface::setInterface(), and RTT::Warning.

Referenced by RTT::DataFlowInterface::addLocalEventPort(), and RTT::DataFlowInterface::addPort().

template<class Signature >
Operation<Signature>& RTT::Service::addOperation ( Operation< Signature > &  op)
inlineinherited

Add an operation object to the interface.

This version of addOperation exports an existing Operation object to the public interface of this component.

Parameters
opThe operation object to add.
Returns
The given parameter op

Definition at line 341 of file Service.hpp.

References RTT::base::OperationBase::getName().

Referenced by RTT::scripting::ScriptingService::createInterface(), and MarshallingService().

template<class Func , class Class >
Operation< typename internal::GetSignature<Func>::Signature >& RTT::Service::addOperation ( const std::string  name,
Func  func,
Class *  obj,
ExecutionThread  et = ClientThread 
)
inlineinherited

Add an operation to the interface by means of a C++ Class member function.

The function func must be a C++ member function and obj is the object having that function.

Parameters
nameThe name of the new operation
funcA pointer to a function, for example, &Bar::foo (C++ class function).
objA pointer to the object that will execute the function.
etThe ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns
A newly created operation object, which you may further document or query.

Definition at line 402 of file Service.hpp.

template<class Func >
Operation< Func >& RTT::Service::addOperation ( const std::string  name,
Func *  func,
ExecutionThread  et = ClientThread 
)
inlineinherited

Add an operation to the interface by means of a free C/C++ function.

The function func must be a free C/C++ function.

Parameters
nameThe name of the new operation
funcA pointer to a C function, for example, &foo (or a static C++ class function).
etThe ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns
A newly created operation object, which you may further document or query.

Definition at line 423 of file Service.hpp.

References RTT::ClientThread.

template<class Func , class ObjT >
Operation< typename internal::GetSignatureDS<Func>::Signature>& RTT::Service::addOperationDS ( const std::string &  name,
Func  func,
internal::DataSource< boost::shared_ptr< ObjT > > *  sp,
ExecutionThread  et = ClientThread 
)
inlineinherited

For internal use only.

The pointer of the object of which a member function must be invoked is stored in a internal::DataSource such that the pointer can change during program execution. Required in scripting for state machines.

Definition at line 506 of file Service.hpp.

Referenced by RTT::scripting::ProgramService::ProgramService().

template<class Signature , class ObjT >
Operation<Signature>& RTT::Service::addOperationDS ( internal::DataSource< boost::shared_ptr< ObjT > > *  sp,
Operation< Signature > &  op 
)
inlineinherited

For internal use only.

The pointer of the object of which a member function must be invoked is stored in a internal::DataSource such that the pointer can change during program execution. Required in scripting for state machines.

Definition at line 521 of file Service.hpp.

References RTT::base::OperationBase::getName().

base::PortInterface& RTT::DataFlowInterface::addPort ( const std::string &  name,
base::PortInterface port 
)
inlineinherited

Name and add a Port to the interface of this task and add a Service with the same name of the port.

Parameters
nameThe name to give to the port.
portThe port to add.

Definition at line 89 of file DataFlowInterface.hpp.

References RTT::base::PortInterface::setName().

PortInterface & RTT::DataFlowInterface::addPort ( base::PortInterface port)
inherited

Add a Port to the interface of this task and add a Service with the same name of the port.

If a port or service with the name already exists, addPort will replace them with port and log a warning.

Parameters
portThe port to add.
Returns
port

Definition at line 59 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::addLocalPort(), RTT::Service::addService(), RTT::DataFlowInterface::chkPtr(), RTT::DataFlowInterface::createPortObject(), RTT::base::PortInterface::getName(), RTT::Service::hasService(), RTT::DataFlowInterface::mservice, RTT::Service::provides(), RTT::Service::removeService(), and RTT::Warning.

template<class T >
Property<T>& RTT::ConfigurationInterface::addProperty ( const std::string &  name,
T &  prop 
)
inlineinherited

Adds a variable of any type as a property to the configuration interface.

A Property is created which causes contents of the property always to be in sync with the contents of prop.

Parameters
nameThe name of this property
propThe variable that will be aliased.
Returns
the Property object by reference, which you can further query or document.

Definition at line 171 of file ConfigurationInterface.hpp.

Referenced by RTT::scripting::ScriptingService::ScriptingService().

template<class T >
Property<T>& RTT::ConfigurationInterface::addProperty ( const std::string &  name,
Property< T > &  prop 
)
inlineinherited

Adds an existing property object to the configuration interface.

Parameters
nameThe name of this property. prop will be initialized with this name.
propThe property to add
Returns
the Property object by reference, which you can further query or document.
Postcondition
prop.ready() == true

Definition at line 184 of file ConfigurationInterface.hpp.

References RTT::base::PropertyBase::ready(), and RTT::base::PropertyBase::setName().

bool RTT::ConfigurationInterface::addProperty ( base::PropertyBase pb)
inherited

Add an base::PropertyBase as a property.

Returns
false if a property with the same name already exists.
See also
removeProperty

Definition at line 90 of file ConfigurationInterface.cpp.

References RTT::base::PropertyBase::getName().

bool RTT::Service::addService ( Service::shared_ptr  obj)
virtualinherited

Add a new sub-service to this Service.

Parameters
objThis object becomes owned by this Service.
Note
obj will take a Service::shared_ptr to this and vice versa. In case this Service is not yet reference counted, obj will hold the only reference count to this.
Returns
true if it could be added, false if such service already exists.

Definition at line 81 of file Service.cpp.

References RTT::Error, RTT::Service::mowner, and RTT::Service::services.

Referenced by RTT::DataFlowInterface::addEventPort(), and RTT::DataFlowInterface::addPort().

template<class Signature >
Operation<Signature>& RTT::Service::addSynchronousOperation ( Operation< Signature > &  op)
inlineinherited

Add an operation object to the interface.

This version exports an existing Operation object to the synchronous interface of the component

Parameters
opThe operation object to add.
Returns
The given parameter op

Definition at line 379 of file Service.hpp.

References RTT::base::OperationBase::getName().

Referenced by RTT::base::PortInterface::createPortObject().

template<class Func , class Class >
Operation< typename internal::GetSignature<Func>::Signature >& RTT::Service::addSynchronousOperation ( const std::string  name,
Func  func,
Class *  obj,
ExecutionThread  et = ClientThread 
)
inlineinherited

Add an operation to the synchronous interface by means of a function.

The function func must be a C++ Class member function.

Parameters
nameThe name of the new operation
funcA pointer to a function, for example &Bar::foo (C++ class function).
objA pointer to the object that will execute the function in case of a C++ class function,
etThe ExecutionThread choice: will the owning TaskContext of this service execute the function func in its own thread, or will the client's thread (the caller) execute func ?
Returns
A newly created operation object, which you may further document or query.

Definition at line 492 of file Service.hpp.

bool RTT::DataFlowInterface::chkPtr ( const std::string &  where,
const std::string &  name,
const void *  ptr 
)
protectedinherited
bool RTT::ConfigurationInterface::chkPtr ( const std::string &  where,
const std::string &  name,
const void *  ptr 
)
protectedinherited

Definition at line 156 of file ConfigurationInterface.cpp.

References RTT::Error.

void RTT::Service::clear ( )
inherited

Clear all added operations, properties and sub-services from this Service.

Note
Since sub-services hold a reference to this Service, clear() may also delete this Service. In order to protect against such deletion, take a Service::shared_ptr to this before calling clear().

Definition at line 217 of file Service.cpp.

References RTT::OperationInterface::clear(), RTT::ConfigurationInterface::clear(), RTT::Service::ownedoperations, RTT::Service::removeService(), RTT::Service::services, and RTT::Service::simpleoperations.

Referenced by RTT::scripting::ScriptingService::clear(), and RTT::Service::~Service().

ConfigurationInterface * RTT::ConfigurationInterface::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  repl,
bool  instantiate 
) const
inherited

Return a new copy of this repository with the copy operation semantics.

Parameters
instantiateset to true if you want a copy which will upon any future copy return the same DataSources, thus 'fixating' or 'instantiating' the DataSources.
See also
base::ActionInterface
Note
this does not copy the properties() within this repository.

Definition at line 60 of file ConfigurationInterface.cpp.

References RTT::ConfigurationInterface::setValue(), and RTT::internal::values().

Referenced by RTT::scripting::StateMachineService::copy().

MarshallingService::shared_ptr RTT::MarshallingService::Create ( TaskContext parent)
static

Creates a MarshallingService object and registers the service to parent.

Definition at line 56 of file MarshallingService.cpp.

References RTT::TaskContext::provides().

Service::shared_ptr RTT::Service::Create ( const std::string &  name,
TaskContext owner = 0 
)
staticinherited

Creates a Service with a name and an owner.

Each service must be owned by a TaskContext and the owner can be set afterwards with setOwner.

Parameters
nameThe name of this service.
ownerThe TaskContext that will execute the operations of this service.
Warning
When using boost < 1.40, the owner is not stored in the Service, until the Service object is effectively added to the TaskContext.
See also
getOwner()

Definition at line 50 of file Service.cpp.

References RTT::TaskContext::provides().

internal::OperationCallerC RTT::Service::create ( std::string  name,
ExecutionEngine caller 
)
inherited

Create a OperationCallerC object, a template-less operation invocation object.

This function is inferior to getOperation(std::string name).

Parameters
nameThe name of the operation
Returns
An object which can invoke a operation.

Definition at line 286 of file Service.cpp.

References RTT::OperationInterface::getPart().

Service * RTT::DataFlowInterface::createPortObject ( const std::string &  name)
protectedinherited
void RTT::DataFlowInterface::dataOnPort ( base::PortInterface port)
inherited

Used by the input ports to notify this class of new data.

Definition at line 128 of file DataFlowInterface.cpp.

References RTT::Service::getOwner(), and RTT::DataFlowInterface::mservice.

const std::string& RTT::Service::doc ( ) const
inlineinherited
void RTT::Service::doc ( const std::string &  description)
inlineinherited

Sets the descriptive text for this service.

Definition at line 149 of file Service.hpp.

OperationInterface::Descriptions OperationInterface::getArgumentList ( const std::string &  name) const
inherited

Get the names and descriptions of all arguments of an operation.

Parameters
nameThe name of the operation
Returns
A list of descriptions.
Exceptions
name_not_found_exception

Definition at line 146 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

int OperationInterface::getArity ( const std::string &  name) const
inherited

Query the number of arguments of an operation.

These are the number of function arguments, not counting the return value.

Parameters
nameThe name of the operation
Returns
The arity, or -1 if name is not found.

Definition at line 77 of file OperationInterface.cpp.

base::AttributeBase* RTT::ConfigurationInterface::getAttribute ( const std::string &  name) const
inlineinherited
std::vector< std::string > RTT::ConfigurationInterface::getAttributeNames ( ) const
inherited

Return the names of all attributes in this repository.

Definition at line 138 of file ConfigurationInterface.cpp.

References RTT::base::AttributeBase::getName(), and RTT::internal::values().

Referenced by RTT_corba_CConfigurationInterface_i::getAttributeList().

int OperationInterface::getCollectArity ( const std::string &  name) const
inherited

Query the collectable number of arguments of an operation.

These are the return value (if non void) and each non-const reference argument of the operation.

Parameters
nameThe name of the operation
Returns
The arity, or -1 if name is not found.

Definition at line 85 of file OperationInterface.cpp.

base::AttributeBase* RTT::ConfigurationInterface::getConstant ( const std::string &  name) const
inlineinherited

Definition at line 245 of file ConfigurationInterface.hpp.

References RTT::removeProperty().

std::string OperationInterface::getDescription ( const std::string &  name) const
inherited

Get the description of an operation.

Parameters
nameThe name of the operation
Returns
A user readable description.
Exceptions
name_not_found_exception

Definition at line 162 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

boost::shared_ptr< base::DisposableInterface > RTT::Service::getLocalOperation ( std::string  name)
inherited

Get a locally added operation from this interface.

Note
Do not use this function unless you know what you're doing.
See also
getOperation() for getting normal, remotely available operations.

Definition at line 210 of file Service.cpp.

References RTT::Service::hasOperation(), and RTT::Service::simpleoperations.

const std::string& RTT::Service::getName ( ) const
inlineinherited
std::vector< std::string > OperationInterface::getNames ( ) const
inherited

Get a list of all the names of the added operations.

Definition at line 65 of file OperationInterface.cpp.

Referenced by RTT_corba_COperationInterface_i::getOperations().

OperationInterfacePart * RTT::Service::getOperation ( std::string  name)
inherited

Get a previously added operation for use in a C++ OperationCaller object.

Store the result of this function in a OperationCaller<Signature> object.

Parameters
nameThe name of the operation to retrieve.
Returns
A pointer to an operation interface part or a null pointer if name was not found.

Definition at line 149 of file Service.cpp.

References RTT::Service::getName(), RTT::OperationInterface::getPart(), RTT::OperationInterface::hasMember(), and RTT::Warning.

Referenced by RTT::Service::setOperationThread().

base::DataSourceBase::shared_ptr RTT::Service::getOperation ( std::string  name,
const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const
inlineinherited

For internal use only.

Get a previously added operation as a DataSource. This function is inferior to getOperation(std::string name)

Parameters
nameThe name of the operation
argsThe arguments of the operation as Data Sources.
Returns
A internal::DataSource which, when evaluated, invokes the operation.

Definition at line 540 of file Service.hpp.

std::vector< std::string > RTT::Service::getOperationNames ( ) const
inherited

Returns the names of all operations added to this interface.

See also
getNames() to get a list of all operations available to scripting.

Definition at line 237 of file Service.cpp.

References RTT::internal::keys(), and RTT::Service::simpleoperations.

TaskContext* RTT::Service::getOwner ( ) const
inlineinherited
ExecutionEngine * RTT::Service::getOwnerExecutionEngine ( ) const
inherited

Return the execution engine of this service owner.

See also
getOwner

Definition at line 75 of file Service.cpp.

References RTT::base::TaskCore::engine(), and RTT::Service::getOwner().

shared_ptr RTT::Service::getParent ( ) const
inlineinherited
OperationInterfacePart * OperationInterface::getPart ( const std::string &  name)
inherited

Get a previously added part of this factory.

Parameters
name
Returns

Definition at line 188 of file OperationInterface.cpp.

Referenced by RTT::Service::create(), RTT::Service::getOperation(), and RTT_corba_COperationInterface_i::sendOperation().

PortInterface * RTT::DataFlowInterface::getPort ( const std::string &  name) const
inherited

Get an added port.

Parameters
nameThe port name
Returns
a pointer to a port or null if it does not exist.

Definition at line 209 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::mports.

Referenced by RTT::corba::CDataFlowInterface_i::_default_POA(), RTT::TaskContext::connectPorts(), RTT::DataFlowInterface::createPortObject(), and RTT::corba::CDataFlowInterface_i::deregisterChannel().

std::string RTT::DataFlowInterface::getPortDescription ( const std::string &  name) const
inherited

Get the description of an added Port.

Parameters
nameThe port name
Returns
The description or "" if it does not exist.

Definition at line 218 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::mports.

Referenced by RTT::DataFlowInterface::createPortObject().

DataFlowInterface::PortNames RTT::DataFlowInterface::getPortNames ( ) const
inherited

Get all port names of this interface.

Returns
A sequence of strings containing the port names.
Deprecated:
by getNames()

Definition at line 200 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::mports.

Referenced by RTT::corba::CDataFlowInterface_i::_default_POA().

DataFlowInterface::Ports RTT::DataFlowInterface::getPorts ( ) const
inherited

Get all ports of this interface.

Returns
A sequence of pointers to ports.

Definition at line 196 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::mports.

Referenced by RTT::TaskContext::connectPorts(), and RTT::TaskContext::disconnect().

template<class Type >
Type* RTT::DataFlowInterface::getPortType ( const std::string &  name)
inlineinherited

Get a port of a specific type.

Definition at line 239 of file DataFlowInterface.hpp.

base::PropertyBase* RTT::ConfigurationInterface::getProperty ( const std::string &  name) const
inlineinherited

Get a Property with name name.

Parameters
nameThe name of the property to search for.
Returns
The PropertyBase with this name, zero if it does not exist.

Definition at line 275 of file ConfigurationInterface.hpp.

vector< string > RTT::Service::getProviderNames ( ) const
virtualinherited

Return a standard container which contains all the sub-service names of this Service.

Definition at line 71 of file Service.cpp.

References RTT::internal::keys(), and RTT::Service::services.

std::string OperationInterface::getResultType ( const std::string &  name) const
inherited

Get the type name of the result type of an operation.

Parameters
nameThe name of the operation
Returns
A name of a data type.
Exceptions
name_not_found_exception

Definition at line 154 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

Service* RTT::DataFlowInterface::getService ( ) const
inlineinherited

Returns the service this interface belongs to.

The returned service is a service living in the component returned by getOwner() or in one of its sub-services.

Definition at line 198 of file DataFlowInterface.hpp.

Service::shared_ptr RTT::Service::getService ( const std::string &  service_name)
inherited

Returns a shared pointer to strictly a sub-service of a null pointer if !hasService(service_name).

This method will not return the this pointer when service_name equals "this" or create new service objects.

Parameters
service_nameThe name of the sub-service to be returned. or created, or the result of provides() in case of "this".

Definition at line 142 of file Service.cpp.

References RTT::Service::services.

Referenced by RTT::DataFlowInterface::setPortDescription().

AttributeBase * RTT::ConfigurationInterface::getValue ( const std::string &  name) const
inherited
AttributeObjects const& RTT::ConfigurationInterface::getValues ( ) const
inlineinherited

Returns all attributes in this repository.

Definition at line 320 of file ConfigurationInterface.hpp.

References RTT::internal::values().

Referenced by RTT::scripting::StateMachineService::copy(), and RTT::scripting::ExpressionParser::getHandle().

bool RTT::ConfigurationInterface::hasAttribute ( const std::string &  name) const
inherited
bool OperationInterface::hasMember ( const std::string &  name) const
inherited

Query if an operation is present.

Definition at line 72 of file OperationInterface.cpp.

Referenced by RTT::Service::getOperation().

bool RTT::Service::hasOperation ( const std::string &  name) const
inherited

Query for the existence of a Operation in this interface.

See also
hasMember() to verify if a operation is available to scripting as well.

Definition at line 243 of file Service.cpp.

References RTT::Service::simpleoperations.

Referenced by RTT::Service::getLocalOperation(), RTT::Service::removeOperation(), RTT::Service::resetOperation(), and RTT::Service::setOperationThread().

bool RTT::ConfigurationInterface::hasProperty ( const std::string &  name) const
inherited

Check if a property is present.

Definition at line 124 of file ConfigurationInterface.cpp.

bool RTT::Service::hasService ( const std::string &  service_name)
inherited
bool OperationInterface::isSynchronous ( const std::string &  name) const
inherited

Query if a given operation is limited to sychronous invocation (own component thread) only.

Returns
false if name not found or a normal operation, true if name exists but is synchronous.

Definition at line 93 of file OperationInterface.cpp.

Referenced by RTT_corba_COperationInterface_i::getOperations(), and RTT_corba_COperationInterface_i::sendOperation().

bool RTT::MarshallingService::loadProperties ( const std::string &  filename) const

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 132 of file MarshallingService.cpp.

References RTT::Service::getParent(), and RTT::marsh::PropertyLoader::load().

Referenced by MarshallingService().

bool RTT::MarshallingService::loadServiceProperties ( const std::string &  filename,
const std::string &  servicename 
) const

Read a property file and update (or create any missing) properties of a Service.

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 Service.

Definition at line 176 of file MarshallingService.cpp.

References RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), RTT::marsh::PropertyLoader::load(), and RTT::Service::provides().

Referenced by MarshallingService().

void RTT::ConfigurationInterface::loadValues ( AttributeObjects const &  new_values)
inherited

Adds these attributes to this repository.

Definition at line 145 of file ConfigurationInterface.cpp.

References RTT::internal::values().

base::DataSourceBase::shared_ptr OperationInterface::produce ( const std::string &  name,
const Arguments args,
ExecutionEngine caller 
) const
inherited

Produce a DataSource that call()s an operation.

The DataSource will return the result of call().

Parameters
nameThe name of the operation
argsThe arguments filled in as data sources.
Returns
a new object
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception

Definition at line 105 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

base::DataSourceBase::shared_ptr OperationInterface::produceCollect ( const std::string &  name,
const Arguments args,
internal::DataSource< bool >::shared_ptr  blocking 
) const
inherited

Produce a DataSource that collects a sent operation, The DataSource will return the SendStatus and store the results in the presented arguments.

Note that this function takes most of the time less arguments than its companions.

Parameters
nameThe name of the operation
argsThe arguments filled in as data sources.
blockingSet to true to block on the result.
Returns
a new object
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Definition at line 129 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

base::DataSourceBase::shared_ptr OperationInterface::produceHandle ( const std::string &  name) const
inherited

Produce an AssignableDataSource that contains a SendHandle, fit for the operation.

The DataSource will return the SendHandle.

Parameters
nameThe name of the operation
argsThe arguments filled in as data sources.
Returns
a new object
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Definition at line 121 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

base::DataSourceBase::shared_ptr OperationInterface::produceSend ( const std::string &  name,
const Arguments args,
ExecutionEngine caller 
) const
inherited

Produce a DataSource that send()s an operation.

The DataSource will return the SendHandle of that operation.

Parameters
nameThe name of the operation
argsThe arguments filled in as data sources.
Returns
a new object
Exceptions
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Definition at line 113 of file OperationInterface.cpp.

References ORO_THROW_OR_RETURN.

PropertyBag * RTT::ConfigurationInterface::properties ( )
inherited
Service::shared_ptr RTT::Service::provides ( )
inherited
Service::shared_ptr RTT::Service::provides ( const std::string &  service_name)
inherited

Returns a sub-Service which resorts under this Service, creating a new one if it does not yet exists.

Use getService() if no Service object creation should be done.

Parameters
service_nameThe name of the sub-service to be returned or created, or the result of provides() in case of "this".
See also
provides() for querying for "this".

Definition at line 122 of file Service.cpp.

References RTT::Service::mowner, RTT::Service::provides(), and RTT::Service::services.

bool RTT::MarshallingService::readProperties ( const std::string &  filename) const

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.

Parameters
filenameThe file to read from.
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 144 of file MarshallingService.cpp.

References RTT::marsh::PropertyLoader::configure(), and RTT::Service::getParent().

Referenced by MarshallingService().

bool RTT::MarshallingService::readProperty ( const std::string &  name,
const std::string &  filename 
)

Read a single property from a file.

The name may be a 'path' like location of a Property in the hierarchy.

Parameters
nameThe 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'.
filenameThe name of the file in which to lookup name.

Definition at line 165 of file MarshallingService.cpp.

References RTT::marsh::PropertyLoader::configure(), and RTT::Service::getParent().

Referenced by MarshallingService().

bool RTT::MarshallingService::readServiceProperties ( const std::string &  filename,
const std::string &  servicename 
) const

Read the property file and 'refresh' all the properties of a Service.

There may be more properties in the file than properties in the Service, but all properties of the Service must be present in filename. In case a type mismatch occurs, this method will fail and update no properties.

Parameters
filenameThe file to read from.
servicenameService to use
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 198 of file MarshallingService.cpp.

References RTT::marsh::PropertyLoader::configure(), RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), and RTT::Service::provides().

Referenced by MarshallingService().

bool RTT::MarshallingService::readServiceProperty ( const std::string &  name,
const std::string &  filename,
const std::string &  servicename 
)

Read a single property from a file.

The name may be a 'path' like location of a Property in the hierarchy.

Parameters
nameThe 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'.
filenameThe name of the file in which to lookup name.
servicenameService to use

Definition at line 239 of file MarshallingService.cpp.

References RTT::marsh::PropertyLoader::configure(), RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), and RTT::Service::provides().

Referenced by MarshallingService().

void OperationInterface::remove ( const std::string &  name)
inherited

Remove an added operation from the interface.

Parameters
nameThe name of the operation

Definition at line 178 of file OperationInterface.cpp.

Referenced by RTT::Service::removeOperation().

void RTT::ConfigurationInterface::removeAttribute ( const std::string &  name)
inherited

Remove an attribute from the repository.

Definition at line 96 of file ConfigurationInterface.cpp.

Referenced by RTT::scripting::ExpressionParser::getHandle().

void RTT::DataFlowInterface::removeLocalPort ( const std::string &  name)
inherited

Remove a locally added Port from this interface.

This will remove all connections and callbacks assosiated with this port.

Parameters
portThe port to remove.
Note
this function will not check if a service with the same name as name exists, and will not remove it. So use removePort() in case you want to get rid of the service as well.

Definition at line 184 of file DataFlowInterface.cpp.

References RTT::DataFlowInterface::mports.

Referenced by RTT::DataFlowInterface::addLocalPort().

void RTT::Service::removeOperation ( const std::string &  name)
inherited
void RTT::DataFlowInterface::removePort ( const std::string &  name)
inherited

Remove a Port from this interface.

This will remove all services, connections and callbacks assosiated with this port.

Parameters
portThe port to remove.
Note
Since services are refcounted, removePort may effectively delete the this object in case no Service::shared_ptr exists to this DataFlowInterface. In order to prevent such cleanup, create a Service::shared_ptr to this object before calling removePort().

Definition at line 163 of file DataFlowInterface.cpp.

References RTT::Service::getOwner(), RTT::Service::hasService(), RTT::DataFlowInterface::mports, RTT::DataFlowInterface::mservice, RTT::Service::provides(), and RTT::Service::removeService().

bool RTT::ConfigurationInterface::removeProperty ( base::PropertyBase p)
inherited

Remove a previously added Property and associated attribute.

Returns
false if no such property exists.

Definition at line 129 of file ConfigurationInterface.cpp.

References RTT::base::PropertyBase::getName().

void RTT::Service::removeService ( std::string const &  service_name)
virtualinherited

Remove a previously added sub-service, potentially freeing it (and this) from memory.

Parameters
service_namethe name of the service to remove.
Note
Since service_name holds a reference to this Service, removeService may also delete this Service. In order to protect against such deletion, take a Service::shared_ptr to this before calling removeService.

Definition at line 103 of file Service.cpp.

References RTT::Service::services.

Referenced by RTT::DataFlowInterface::addEventPort(), RTT::DataFlowInterface::addPort(), RTT::DataFlowInterface::clear(), RTT::Service::clear(), and RTT::DataFlowInterface::removePort().

bool RTT::ConfigurationInterface::removeValue ( const std::string &  name)
inherited

Delete a value added with setValue from the repository.

Definition at line 100 of file ConfigurationInterface.cpp.

References RTT::base::AttributeBase::getName(), and RTT::internal::values().

bool RTT::Service::resetOperation ( std::string  name,
base::OperationBase impl 
)
inherited

Reset the implementation of a operation.

Definition at line 159 of file Service.cpp.

References RTT::Service::hasOperation(), and RTT::Service::simpleoperations.

void RTT::Service::setName ( const std::string &  name)
inlineinherited

Changes the name of this service.

Definition at line 154 of file Service.hpp.

bool RTT::Service::setOperationThread ( std::string const &  name,
ExecutionThread  et 
)
inherited

Sets the thread of execution of a previously added operation.

Only the component itself should modify this property. Don't call this function from outside the component, it has unspecified behaviour when not called from within one of the member functions or a service of the current component.

This function is typically used to change the ExecutionThread of the standard component hooks such as startHook(), configureHook() etc. which all have the ClientThread policy by default.

Parameters
nameThe name of the operation to modify. For example, "start".
etThe ExecutionThread type in which the function of the operation will be executed, being OwnThread or ClientThread.
Returns
true if name was a local, present operation, false otherwise.

Definition at line 167 of file Service.cpp.

References RTT::OperationInterfacePart::getLocalOperation(), RTT::Service::getOperation(), RTT::Service::getOwner(), RTT::Service::hasOperation(), and RTT::base::OperationCallerInterface::setThread().

void RTT::Service::setOwner ( TaskContext new_owner)
inherited

Sets the owning TaskContext that will execute the operations in this service.

Definition at line 261 of file Service.cpp.

References RTT::base::TaskCore::engine(), RTT::Service::mowner, RTT::Service::services, and RTT::Service::simpleoperations.

Referenced by RTT::scripting::StateMachineService::StateMachineService().

void RTT::Service::setParent ( Service::shared_ptr  p)
inherited

Sets the parent service in case this service is a sub-service.

Definition at line 282 of file Service.cpp.

References RTT::Service::parent.

bool RTT::DataFlowInterface::setPortDescription ( const std::string &  name,
const std::string  description 
)
inherited

Sets the description for the service of an added port.

It's prefered to use getPort(name)->doc(description) instead of this method, since this function only updates the documentation of the service representing this port, and not the documentation stored in the port.

Parameters
nameThe port name
descriptionThe new description for this port's service
Returns
true if the port was found and the description was set, false otherwise.

Definition at line 227 of file DataFlowInterface.cpp.

References RTT::Service::getService(), and RTT::DataFlowInterface::mservice.

Referenced by RTT::base::PortInterface::doc().

bool RTT::ConfigurationInterface::setValue ( base::AttributeBase ab)
inherited

Transfer the ownership of an attribute to the repository.

Parameters
abThe attribute which becomes owned by this repository.
Returns
false if an Attribute with the same name already present.

Definition at line 78 of file ConfigurationInterface.cpp.

References RTT::base::AttributeBase::getDataSource(), RTT::base::AttributeBase::getName(), and RTT::internal::values().

Referenced by RTT::ConfigurationInterface::copy(), and RTT::scripting::ExpressionParser::getHandle().

bool RTT::MarshallingService::storeProperties ( const std::string &  filename) const

Stores all properties of a 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.

Parameters
filenameThe file to store to.
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 138 of file MarshallingService.cpp.

References RTT::Service::getParent(), and RTT::marsh::PropertyLoader::store().

Referenced by MarshallingService().

bool RTT::MarshallingService::storeServiceProperties ( const std::string &  filename,
const std::string &  servicename 
) const

Stores all properties of a Service 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.

Parameters
filenameThe file to store to.
servicenameService to use
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 187 of file MarshallingService.cpp.

References RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), RTT::Service::provides(), and RTT::marsh::PropertyLoader::store().

Referenced by MarshallingService().

bool RTT::Service::testOperation ( base::OperationBase op)
protectedinherited
bool RTT::MarshallingService::updateFile ( const std::string &  filename) const

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.

Parameters
filenameThe file to read from and write to.
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 159 of file MarshallingService.cpp.

References RTT::Service::getParent(), and RTT::marsh::PropertyLoader::save().

Referenced by MarshallingService().

bool RTT::MarshallingService::updateProperties ( const std::string &  filename) const

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.

Parameters
filenameThe file to read all the properties from.
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 149 of file MarshallingService.cpp.

References RTT::marsh::PropertyLoader::configure(), and RTT::Service::getParent().

Referenced by MarshallingService().

bool RTT::MarshallingService::updateServiceFile ( const std::string &  filename,
const std::string &  servicename 
) const

Write the property file with the properties of a Service, 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.

Parameters
filenameThe file to read from and write to.
servicenameService to use
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 228 of file MarshallingService.cpp.

References RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), RTT::Service::provides(), and RTT::marsh::PropertyLoader::save().

Referenced by MarshallingService().

bool RTT::MarshallingService::updateServiceProperties ( const std::string &  filename,
const std::string &  servicename 
) const

Read the property file and 'refresh' some properties of the Service.

There may be more properties in the file than properties in the Service, 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.

Parameters
filenameThe file to read all the properties from.
servicenameService to use
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 208 of file MarshallingService.cpp.

References RTT::marsh::PropertyLoader::configure(), RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), and RTT::Service::provides().

Referenced by MarshallingService().

bool RTT::MarshallingService::writeProperties ( const std::string &  filename) const

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.

Parameters
filenameThe file to read from and write to (updating).
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 154 of file MarshallingService.cpp.

References RTT::Service::getParent(), and RTT::marsh::PropertyLoader::save().

Referenced by MarshallingService().

bool RTT::MarshallingService::writeProperty ( const std::string &  name,
const std::string &  filename 
)

Write a single property to a file.

The name may be a 'path' like location of a Property in the hierarchy.

Parameters
nameThe 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'.
filenameThe name of the file in which to write name.

Definition at line 170 of file MarshallingService.cpp.

References RTT::Service::getParent(), and RTT::marsh::PropertyLoader::save().

Referenced by MarshallingService().

bool RTT::MarshallingService::writeServiceProperties ( const std::string &  filename,
const std::string &  servicename 
) const

Write the property file with the properties of a Service.

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.

Parameters
filenameThe file to read from and write to (updating).
servicenameService to use
Returns
true on success, false on error, consult Logger output for messages.

Definition at line 218 of file MarshallingService.cpp.

References RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), RTT::Service::provides(), and RTT::marsh::PropertyLoader::save().

Referenced by MarshallingService().

bool RTT::MarshallingService::writeServiceProperty ( const std::string &  name,
const std::string &  filename,
const std::string &  servicename 
)

Write a single property to a file.

The name may be a 'path' like location of a Property in the hierarchy.

Parameters
nameThe 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'.
filenameThe name of the file in which to write name.
servicenameService to use

Definition at line 249 of file MarshallingService.cpp.

References RTT::Error, RTT::Service::getName(), RTT::Service::getParent(), RTT::Service::hasService(), RTT::Service::provides(), and RTT::marsh::PropertyLoader::save().

Referenced by MarshallingService().

Member Data Documentation

PropertyBag RTT::ConfigurationInterface::bag
protectedinherited

Definition at line 338 of file ConfigurationInterface.hpp.

map_t RTT::OperationInterface::data
protectedinherited

Definition at line 66 of file OperationInterface.hpp.

std::string RTT::Service::mdescription
protectedinherited

Definition at line 571 of file Service.hpp.

std::string RTT::Service::mname
protectedinherited

Definition at line 570 of file Service.hpp.

TaskContext* RTT::Service::mowner
protectedinherited
Ports RTT::DataFlowInterface::mports
protectedinherited
Service* RTT::DataFlowInterface::mservice
protectedinherited
OperationList RTT::Service::ownedoperations
protectedinherited

Definition at line 569 of file Service.hpp.

Referenced by RTT::Service::clear(), and RTT::Service::removeOperation().

shared_ptr RTT::Service::parent
protectedinherited

Definition at line 573 of file Service.hpp.

Referenced by RTT::Service::setParent().

Services RTT::Service::services
protectedinherited
SimpleOperations RTT::Service::simpleoperations
protectedinherited
map_t RTT::ConfigurationInterface::values
protectedinherited

Definition at line 337 of file ConfigurationInterface.hpp.


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