TypeCode
decorator template.
More...
#include <Recursive_Type_TypeCode.h>
Public Member Functions | |
Recursive_Type (CORBA::TCKind kind, char const *id, char const *name, MemberArrayType const &fields, CORBA::ULong nfields) | |
Recursive struct constructor. | |
Recursive_Type (char const *id, char const *name, TypeCodeType const &discriminant_type, MemberArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index) | |
Recursive union constructor. | |
Recursive_Type (CORBA::TCKind kind, char const *id, char const *name, CORBA::ValueModifier modifier, TypeCodeType const &concrete_base, MemberArrayType const &fields, CORBA::ULong nfields) | |
Recursive valuetype constructor. | |
Recursive_Type (CORBA::TCKind kind, char const *id) | |
Dynamic Recursive_Type TypeCode constructor. | |
void | struct_parameters (char const *name, MemberArrayType const &fields, CORBA::ULong nfields) |
Set struct TypeCode parameters. | |
void | union_parameters (char const *name, TypeCodeType const &discriminant_type, MemberArrayType const &cases, CORBA::ULong ncases, CORBA::Long default_index) |
Set union TypeCode parameters. | |
void | valuetype_parameters (char const *name, CORBA::ValueModifier modifier, TypeCodeType const &concrete_base, MemberArrayType const &fields, CORBA::ULong nfields) |
Set valuetype or eventtype TypeCode parameters. | |
TAO-specific @c CORBA::TypeCode Methods | |
Methods required by TAO's implementation of the CORBA::TypeCode class.
TypeCode marshaling operation overrides.
| |
virtual bool | tao_marshal_kind (TAO_OutputCDR &cdr) const |
virtual bool | tao_marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const |
Protected Member Functions | |
TAO @c CORBA::TypeCode Template Methods | |
virtual CORBA::Boolean | equal_i (CORBA::TypeCode_ptr tc ACE_ENV_ARG_DECL) const |
virtual CORBA::Boolean | equivalent_i (CORBA::TypeCode_ptr tc ACE_ENV_ARG_DECL) const |
Private Attributes | |
TAO_SYNCH_RECURSIVE_MUTEX | lock_ |
Internal state thread synchronization mutex. | |
bool | in_recursion_ |
Classes | |
class | Reset |
Reset flag to false in an exception-safe manner. More... |
TypeCode
decorator template.
This class template decorates the underlying TypeCode
implementation TypeCodeBase to provide support for IDL defined recursive types. Only IDL an struct
, union
or valuetype
may be recursive, which is why this decorator only supports constructors for the corresponding TypeCode
implementations.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, | |
char const * | id, | |||
char const * | name, | |||
MemberArrayType const & | fields, | |||
CORBA::ULong | nfields | |||
) |
Recursive struct
constructor.
ACE_INLINE TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | char const * | id, | |
char const * | name, | |||
TypeCodeType const & | discriminant_type, | |||
MemberArrayType const & | cases, | |||
CORBA::ULong | ncases, | |||
CORBA::Long | default_index | |||
) |
Recursive union
constructor.
ACE_INLINE TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, | |
char const * | id, | |||
char const * | name, | |||
CORBA::ValueModifier | modifier, | |||
TypeCodeType const & | concrete_base, | |||
MemberArrayType const & | fields, | |||
CORBA::ULong | nfields | |||
) |
Recursive valuetype
constructor.
ACE_INLINE TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::Recursive_Type | ( | CORBA::TCKind | kind, | |
char const * | id | |||
) |
Dynamic Recursive_Type
TypeCode constructor.
CORBA::Boolean TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::equal_i | ( | CORBA::TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const [protected, virtual] |
CORBA::Boolean TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::equivalent_i | ( | CORBA::TypeCode_ptr tc | ACE_ENV_ARG_DECL | ) | const [protected, virtual] |
ACE_INLINE void TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::struct_parameters | ( | char const * | name, | |
MemberArrayType const & | fields, | |||
CORBA::ULong | nfields | |||
) |
Set struct
TypeCode
parameters.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::tao_marshal | ( | TAO_OutputCDR & | cdr, | |
CORBA::ULong | offset | |||
) | const [virtual] |
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::tao_marshal_kind | ( | TAO_OutputCDR & | cdr | ) | const [virtual] |
ACE_INLINE void TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::union_parameters | ( | char const * | name, | |
TypeCodeType const & | discriminant_type, | |||
MemberArrayType const & | cases, | |||
CORBA::ULong | ncases, | |||
CORBA::Long | default_index | |||
) |
Set union
TypeCode
parameters.
ACE_INLINE void TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::valuetype_parameters | ( | char const * | name, | |
CORBA::ValueModifier | modifier, | |||
TypeCodeType const & | concrete_base, | |||
MemberArrayType const & | fields, | |||
CORBA::ULong | nfields | |||
) |
Set valuetype
or eventtype
TypeCode
parameters.
bool TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::in_recursion_ [mutable, private] |
This flag is used to prevent TypeCode
equality and equivalence operations from recursing indefinitely.
TAO_SYNCH_RECURSIVE_MUTEX TAO::TypeCode::Recursive_Type< TypeCodeBase, TypeCodeType, MemberArrayType >::lock_ [mutable, private] |
Internal state thread synchronization mutex.