RTT::Corba::ExpressionServer Class Reference

This class manages the access of local Expression Corba Servants and Servers. More...

#include <rtt/corba/ExpressionServer.hpp>

List of all members.

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.


Detailed Description

This class manages the access of local Expression Corba Servants and Servers.

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.


Constructor & Destructor Documentation

RTT::Corba::ExpressionServer::ExpressionServer (  )  [protected]

Private constructor.

Not used.


Member Function Documentation

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.

Parameters:
expr The expression to serve
Returns:
A new or previously created CORBA server for expr.

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.

Parameters:
expr The expression to serve
Returns:
A new or previously created CORBA server for expr.

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.

Parameters:
expr The expression to serve
Returns:
A new or previously created CORBA server for expr.

Referenced by RTT::detail::CorbaTemplateProtocol< T >::method().


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

Generated on Tue Aug 25 14:17:25 2009 for Orocos Real-Time Toolkit by  doxygen 1.5.8