55 return boost::shared_ptr<base::DisposableInterface>();
60 for (map_t::iterator i = data.begin(); i != data.end(); ++i)
67 std::vector<std::string> ret;
74 return data.find(name) != data.end();
79 map_t::const_iterator i = data.find(name);
80 if (i == data.end() || i->second == 0)
82 return i->second->arity();
87 map_t::const_iterator i = data.find(name);
88 if (i == data.end() || i->second == 0)
90 return i->second->collectArity();
107 map_t::const_iterator i = data.find(name);
108 if (i == data.end() || i->second == 0)
110 return i->second->produce(args, caller);
115 map_t::const_iterator i = data.find(name);
116 if (i == data.end() || i->second == 0)
118 return i->second->produceSend(args, caller);
123 map_t::const_iterator i = data.find(name);
124 if (i == data.end() || i->second == 0)
126 return i->second->produceHandle();
131 map_t::const_iterator i = data.find(name);
132 if (i == data.end() || i->second == 0)
134 return i->second->produceCollect(args, blocking);
137 #ifdef ORO_SIGNALLING_OPERATIONS 140 map_t::const_iterator i = data.find(name);
141 if (i == data.end() || i->second == 0)
143 return i->second->produceSignal(act, args, subscriber);
148 map_t::const_iterator i = data.find(name);
149 if (i == data.end() || i->second == 0)
151 return i->second->getArgumentList();
156 map_t::const_iterator i = data.find(name);
157 if (i == data.end() || i->second == 0)
159 return i->second->resultType();
164 map_t::const_iterator i = data.find(name);
165 if (i == data.end() || i->second == 0)
167 return i->second->description();
172 map_t::iterator i = data.find(name);
180 map_t::iterator i = data.find(name);
190 map_t::iterator i = data.find(name);
DataSource is a base class representing a generic way to read data of type T.
base::DataSourceBase::shared_ptr produceSend(const std::string &name, const Arguments &args, ExecutionEngine *caller) const
Produce a DataSource that send()s an operation.
void add(const std::string &name, OperationInterfacePart *part)
Add a new operation to the interface or replace an existing one.
std::string getDescription(const std::string &name) const
Get the description of an operation.
#define ORO_THROW_OR_RETURN(x, rv)
Exception thrown when a factory is requested to create an object with an unknown name.
When Orocos is compiled without exceptions (define ORO_EMBEDDED), the functions which would throw an ...
bool hasMember(const std::string &name) const
Query if an operation is present.
bool isSynchronous(const std::string &name) const
Query if a given operation is limited to sychronous invocation (own component thread) only...
An execution engine serialises (executes one after the other) the execution of all commands...
int getCollectArity(const std::string &name) const
Query the collectable number of arguments of an operation.
OperationInterfacePart * getPart(const std::string &name)
Get a previously added part of this factory.
std::vector< ArgumentDescription > Descriptions
The descriptions of an argumentlist.
Convenient short notation for every sub-namespace of RTT.
int getArity(const std::string &name) const
Query the number of arguments of an operation.
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 st...
Based on the software pattern 'command', this interface allows execution of action objects...
This class defines the interface for creating operation objects without using C++ templates...
virtual RTT_API boost::shared_ptr< base::DisposableInterface > getLocalOperation() const
Returns any local operation associated with this operation.
This file contains some structs that can be thrown by both DataSourceFactory's and CommandFactory's...
void clear()
Remove and delete all added operations.
std::vector< std::string > getNames() const
Get a list of all the names of the added operations.
virtual RTT_API ~OperationInterfacePart()
Descriptions getArgumentList(const std::string &name) const
Get the names and descriptions of all arguments of an operation.
std::vector< base::DataSourceBase::shared_ptr > Arguments
The arguments for an operation.
boost::intrusive_ptr< DataSourceBase > shared_ptr
Use this type to store a pointer to a DataSourceBase.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
base::DataSourceBase::shared_ptr produceHandle(const std::string &name) const
Produce an AssignableDataSource that contains a SendHandle, fit for the operation.
The Handle holds the information, and allows manipulation, of a connection between a internal::Signal...
void remove(const std::string &name)
Remove an added operation from the interface.
std::string getResultType(const std::string &name) const
Get the type name of the result type of an operation.
base::DataSourceBase::shared_ptr produce(const std::string &name, const Arguments &args, ExecutionEngine *caller) const
Produce a DataSource that call()s an operation.