#include <rtt/corba/ExpressionServer.hpp>
Static Public Member Functions | |
| static Corba::Expression_ptr | CreateExpression (DataSourceBase::shared_ptr expr, PortableServer::POA_ptr p) |
| Factory method: create a CORBA server to an expression. | |
| static Corba::Expression_ptr | CreateAssignableExpression (DataSourceBase::shared_ptr expr, PortableServer::POA_ptr p) |
| Factory method: create a CORBA server to an assignable expression. | |
| static Corba::Method_ptr | CreateMethod (DataSourceBase::shared_ptr expr, MethodC *orig, PortableServer::POA_ptr p) |
| Factory method: create a CORBA server to a method. | |
| static void | copy (std::map< const DataSourceBase *, DataSourceBase * > &alreadyCloned) |
| This method informs the servants that a new DataSource needs to be used because of a copy operation. | |
Protected Types | |
|
typedef std::map < DataSourceBase::const_ptr, Orocos_AnyExpression_i * > | EServantMap |
|
typedef std::map < DataSourceBase::const_ptr, Corba::Expression_ptr > | EServerMap |
|
typedef std::map < DataSourceBase::shared_ptr, Corba::AssignableExpression_ptr > | AServerMap |
|
typedef std::map < DataSourceBase::shared_ptr, Corba::Method_ptr > | MServerMap |
Protected Member Functions | |
| ExpressionServer () | |
| Private constructor. | |
Static Protected Attributes | |
| static EServantMap | EServants |
| All created servants end up in this map. | |
| static EServerMap | EServers |
| All created Expressions (or subclasses) end up in this map. | |
| static AServerMap | AServers |
| The AssignableExpressions end up in this map as well. | |
| static MServerMap | MServers |
| The Methods end up in this map as well. | |
Especially, it also takes care of the copy/clone semantics and informs the servants when a DataSource copy() operation changed the location of a DataSource it was using.
Definition at line 64 of file ExpressionServer.hpp.
| RTT::Corba::ExpressionServer::ExpressionServer | ( | ) | [protected] |
Private constructor.
Not used.
| static void RTT::Corba::ExpressionServer::copy | ( | std::map< const DataSourceBase *, DataSourceBase * > & | alreadyCloned | ) | [static] |
This method informs the servants that a new DataSource needs to be used because of a copy operation.
It also updates the internal maps such that each new lookup will resolve to the new DataSource instead of the old. The old DataSource becomes 'unserved' and may thus become available for clean-up.
| static Corba::Expression_ptr RTT::Corba::ExpressionServer::CreateAssignableExpression | ( | DataSourceBase::shared_ptr | expr, | |
| PortableServer::POA_ptr | p | |||
| ) | [static] |
Factory method: create a CORBA server to an assignable expression.
| expr | The expression to serve |
Referenced by RTT::detail::CorbaTemplateProtocol< T >::server().
| static Corba::Expression_ptr RTT::Corba::ExpressionServer::CreateExpression | ( | DataSourceBase::shared_ptr | expr, | |
| PortableServer::POA_ptr | p | |||
| ) | [static] |
Factory method: create a CORBA server to an expression.
| expr | The expression to serve |
Referenced by RTT::detail::CorbaTemplateProtocol< T >::server().
| static Corba::Method_ptr RTT::Corba::ExpressionServer::CreateMethod | ( | DataSourceBase::shared_ptr | expr, | |
| MethodC * | orig, | |||
| PortableServer::POA_ptr | p | |||
| ) | [static] |
Factory method: create a CORBA server to a method.
| expr | The expression to serve |
Referenced by RTT::detail::CorbaTemplateProtocol< T >::method().
1.5.8