Orocos Real-Time Toolkit  2.5.0
Public Types | Static Public Member Functions
RTT::corba::AnyConversion< Type > Struct Template Reference

This class converts a given application-specific type to a CORBA::Any object and vice versa. More...

#include <rtt/transports/corba/CorbaConversion.hpp>

List of all members.

Public Types

typedef CORBA::Any CorbaType
 corba type
typedef Type StdType
 C++ type.
typedef RTT::corba::CAnySequence sequence
 sequence of corba type (used to convert stl container)

Static Public Member Functions

static bool toStdType (StdType &tp, const CorbaType &cb)
 Updates tp with the contents of cb.
static bool toCorbaType (CorbaType &cb, const StdType &tp)
 Updates cb with the contents of tp.
static bool update (const CORBA::Any &any, StdType tp)
 Updates tp with the contents of any.
static CORBA::Any_ptr createAny (StdType tp)
 Creates an CORBA::Any object out of a C++/IDL type.
static bool updateAny (StdType tp, CORBA::Any &any)
 Updates an CORBA::Any object from of a C++/IDL type.

Detailed Description

template<class Type>
struct RTT::corba::AnyConversion< Type >

This class converts a given application-specific type to a CORBA::Any object and vice versa.

This class works with 'template specialisation'. To create your own any conversion, specialise this class for your application's C++ or IDL type. Also, your specialisation must be in the RTT namespace in order to be found by the CORBA-enabled classes such as Property or the TaskContext.

Parameters:
Typeis the Standard C++ or IDL type which is used throughout your application.

Definition at line 81 of file CorbaConversion.hpp.


Member Function Documentation

template<class Type>
static CORBA::Any_ptr RTT::corba::AnyConversion< Type >::createAny ( StdType  tp) [inline, static]

Creates an CORBA::Any object out of a C++/IDL type.

Parameters:
tpThe value to convert to an Any.
Returns:
An Any object which contains tp or an empty Any object if the conversion was not possible.

Definition at line 138 of file CorbaConversion.hpp.

References RTT::Logger::log().

template<class Type>
static bool RTT::corba::AnyConversion< Type >::toCorbaType ( CorbaType cb,
const StdType tp 
) [inline, static]

Updates cb with the contents of tp.

Parameters:
cbA CORBA type in which the contents of the tp are written.
tpContains possibly data of a type convertible to cb
Returns:
true if the tp was convertible to cb.

Definition at line 115 of file CorbaConversion.hpp.

References RTT::Logger::log().

template<class Type>
static bool RTT::corba::AnyConversion< Type >::toStdType ( StdType tp,
const CorbaType cb 
) [inline, static]

Updates tp with the contents of cb.

Parameters:
tpA C++ or CORBA type in which the contents of the cb are written.
cbContains possibly data of a type convertible to tp
Returns:
true if the cb was convertible to tp.

Definition at line 103 of file CorbaConversion.hpp.

References RTT::Logger::log().

template<class Type>
static bool RTT::corba::AnyConversion< Type >::update ( const CORBA::Any &  any,
StdType  tp 
) [inline, static]

Updates tp with the contents of any.

Parameters:
anyContains possibly data of a type convertible to tp
tpA C++ or CORBA type in which the contents of the any are written.
Returns:
true if the any was convertible to tp.

Definition at line 127 of file CorbaConversion.hpp.

References RTT::Logger::log().

Referenced by RTT::corba::AnyConversion< std::vector< T > >::toStdType(), and RTT::corba::AnyConversion< std::map< T1, T2 > >::toStdType().

template<class Type>
static bool RTT::corba::AnyConversion< Type >::updateAny ( StdType  tp,
CORBA::Any &  any 
) [inline, static]

Updates an CORBA::Any object from of a C++/IDL type.

Parameters:
tpThe value to convert to the Any.
AnAny object which will contain tp or an empty Any object if the conversion was not possible.
Returns:
false if no conversion could be made

Definition at line 150 of file CorbaConversion.hpp.

References RTT::Logger::log().


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