39 #ifndef ORO_CORBA_TEMPATE_PROTOCOL_HPP 40 #define ORO_CORBA_TEMPATE_PROTOCOL_HPP 44 #include "../../types/Types.hpp" 45 #include "../../InputPort.hpp" 46 #include "../../OutputPort.hpp" 49 #include "../../internal/ConnID.hpp" 132 if ( serv->isAttributeAssignable( vname.c_str() ) ) {
static bool updateAny(StdType tp, CORBA::Any &any)
Updates an CORBA::Any object from of a C++/IDL type.
This class converts a given application-specific type to a CORBA::Any object and vice versa...
virtual CORBA::Any * createAny(base::DataSourceBase::shared_ptr source) const
Create an transportable object for a protocol which contains the value of source. ...
The Interface of a TaskContext which exposes its data-flow ports.
virtual void set(param_t t)=0
Set this DataSource with a value.
For each transportable type T, specify the conversion functions.
Property< T >::DataSourceType PropertyType
When Properties of T are constructed, they are non-const, non-reference.
virtual base::DataSourceBase::shared_ptr createAttributeDataSource(CService_ptr serv, const std::string &vname)
Base class for CORBA channel servers.
Mirrors a remote assignable value datasource.
Implements the CRemoteChannelElement of the CORBA IDL interface.
virtual const_reference_t rvalue() const =0
Get a const reference to the value of this DataSource.
boost::intrusive_ptr< DataSource< T > > shared_ptr
boost::intrusive_ptr< AssignableDataSource< T > > shared_ptr
Use this type to store a pointer to an AssignableDataSource.
T UserType
The given T parameter is the type for reading DataSources.
static AssignableDataSource< T > * narrow(base::DataSourceBase *db)
This method narrows a base::DataSourceBase to a typeded AssignableDataSource, possibly returning a ne...
static DataSource< T > * narrow(base::DataSourceBase *db)
This method narrows a base::DataSourceBase to a typeded DataSource, possibly returning a new object...
virtual bool updateAny(base::DataSourceBase::shared_ptr source, CORBA::Any &any) const
Update a transportable object for a protocol which contains the value of source.
static CORBA::Any_ptr createAny(StdType tp)
Creates an CORBA::Any object out of a C++/IDL type.
CRemoteChannelElement_i * createChannelElement_i(DataFlowInterface *sender, PortableServer::POA_ptr poa, bool is_pull) const
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.
virtual bool evaluate() const
Force an evaluation of the DataSourceBase.
virtual base::DataSourceBase::shared_ptr createDataSource(const CORBA::Any *any) const
Create a Data Source from an any.
A simple, yet very useful DataSource, which keeps a value, and returns it in its get() method...
Mirrors a remote DataSource.
virtual void updated()
In case the internal::DataSource returns a 'reference' type, call this method to notify it that the d...
Extends the TypeTransporter in order to allow the creation of channel elements or output halves for a...
virtual base::DataSourceBase::shared_ptr createPropertyDataSource(CService_ptr serv, const std::string &vname)
Create a data source for an attribute or property.
virtual bool updateFromAny(const CORBA::Any *any, base::DataSourceBase::shared_ptr target) const
Update target with the contents of any which is an object of a protocol.