TAO_AnyTypeCode  2.4.0
Public Member Functions | List of all members
TAO::TypeCode::Indirected_Type Class Reference

Recursive type TypeCode indirection template. More...

#include <Indirected_Type_TypeCode.h>

Inheritance diagram for TAO::TypeCode::Indirected_Type:
Inheritance graph
[legend]
Collaboration diagram for TAO::TypeCode::Indirected_Type:
Collaboration graph
[legend]

Public Member Functions

 Indirected_Type (CORBA::TCKind kind, char const *id)
 Constructor. More...
 
 Indirected_Type (char const *id)
 Constructor for TypeCode factory. More...
 
void set_recursive_tc (CORBA::TypeCode_ptr)
 Setter for recursive reference. More...
 
TAO-specific @c CORBA::TypeCode Methods

Methods required by TAO's implementation of the CORBA::TypeCode class.

See also
CORBA::TypeCode
virtual bool tao_marshal_kind (TAO_OutputCDR &cdr) const
 Marshal the TypeCode TCKind. More...
 
virtual bool tao_marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const
 Marshal this TypeCode into a CDR output stream. More...
 
virtual void tao_duplicate (void)
 Increase the reference count on this TypeCode. More...
 
virtual void tao_release (void)
 Decrease the reference count on this object. More...
 
- Public Member Functions inherited from CORBA::TypeCode
Boolean equal (TypeCode_ptr tc) const
 Equality of two TypeCodes. More...
 
Boolean equivalent (TypeCode_ptr tc) const
 Equivalence of two TypeCodes. More...
 
TCKind kind (void) const
 The kind of TypeCode. More...
 
TypeCode_ptr get_compact_typecode (void) const
 
char const * id (void) const
 The RepositoryId globally identifying the type. More...
 
char const * name (void) const
 
ULong member_count (void) const
 The type member count. More...
 
char const * member_name (ULong index) const
 The type member name. More...
 
TypeCode_ptr member_type (ULong index) const
 The type member TypeCode. More...
 
Anymember_label (ULong index) const
 The union member label. More...
 
TypeCode_ptr discriminator_type (void) const
 The type of all non-default union member labels. More...
 
Long default_index (void) const
 The index of the default union member. More...
 
ULong length (void) const
 The length of the type. More...
 
TypeCode_ptr content_type (void) const
 The underlying content type. More...
 
UShort fixed_digits (void) const
 The number of significant digits. More...
 
UShort fixed_scale (void) const
 The scale factor. More...
 
Visibility member_visibility (ULong index) const
 
ValueModifier type_modifier (void) const
 
TypeCode_ptr concrete_base_type (void) const
 

@c TAO CORBA::TypeCode Template Methods

CORBA::String_var id_
 Typecode id. More...
 
CORBA::TypeCode_ptr recursive_tc_
 Reference of recursive typecode instance. More...
 
TAO_SYNCH_MUTEX mutex_
 Lock. More...
 
unsigned long refcount_
 Reference counter. More...
 
virtual CORBA::Boolean equal_i (CORBA::TypeCode_ptr tc) const
 Typecode id. More...
 
virtual CORBA::Boolean equivalent_i (CORBA::TypeCode_ptr tc) const
 Typecode id. More...
 
virtual CORBA::TypeCode_ptr get_compact_typecode_i (void) const
 Typecode id. More...
 
virtual char const * id_i (void) const
 Typecode id. More...
 
virtual char const * name_i (void) const
 Typecode id. More...
 
virtual CORBA::ULong member_count_i (void) const
 Typecode id. More...
 
virtual char const * member_name_i (CORBA::ULong index) const
 Typecode id. More...
 
virtual CORBA::TypeCode_ptr member_type_i (CORBA::ULong index) const
 Typecode id. More...
 
virtual CORBA::Anymember_label_i (CORBA::ULong index) const
 Typecode id. More...
 
virtual CORBA::TypeCode_ptr discriminator_type_i (void) const
 Typecode id. More...
 
virtual CORBA::Long default_index_i (void) const
 Typecode id. More...
 
virtual CORBA::Visibility member_visibility_i (CORBA::ULong index) const
 Typecode id. More...
 
virtual CORBA::ValueModifier type_modifier_i (void) const
 Typecode id. More...
 
virtual CORBA::TypeCode_ptr concrete_base_type_i (void) const
 Typecode id. More...
 

Additional Inherited Members

- Public Types inherited from CORBA::TypeCode
typedef CORBA::TypeCode_ptr _ptr_type
 
typedef CORBA::TypeCode_var _var_type
 
typedef CORBA::TypeCode_out _out_type
 
- Static Public Member Functions inherited from CORBA::TypeCode
static CORBA::TypeCode_ptr _duplicate (CORBA::TypeCode_ptr tc)
 Duplicate this TypeCode. More...
 
static CORBA::TypeCode_ptr _nil (void)
 Returns a NULL typecode. More...
 
static void _tao_any_destructor (void *x)
 Destruction callback for Anys. More...
 
- Static Public Attributes inherited from CORBA::TypeCode
static CORBA::TypeCode_ptr const _tc_Bounds
 
static CORBA::TypeCode_ptr const _tc_BadKind
 
- Protected Member Functions inherited from CORBA::TypeCode
 TypeCode (CORBA::TCKind kind)
 Constructor. More...
 
virtual ~TypeCode (void)
 Destructor. More...
 
virtual ULong length_i (void) const
 
virtual TypeCode_ptr content_type_i (void) const
 
virtual UShort fixed_digits_i (void) const
 
virtual UShort fixed_scale_i (void) const
 
- Protected Attributes inherited from CORBA::TypeCode
TCKind const kind_
 The kind of TypeCode. More...
 

Detailed Description

Recursive type TypeCode indirection template.

This class template delegates to the indirected TypeCode implementation Recursive_Type to provide support for IDL defined recursive types. Only an IDL struct, union or valuetype may be recursive.

Constructor & Destructor Documentation

TAO::TypeCode::Indirected_Type::Indirected_Type ( CORBA::TCKind  kind,
char const *  id 
)

Constructor.

TAO::TypeCode::Indirected_Type::Indirected_Type ( char const *  id)

Constructor for TypeCode factory.

Member Function Documentation

CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::concrete_base_type_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::Long TAO::TypeCode::Indirected_Type::default_index_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::discriminator_type_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::Boolean TAO::TypeCode::Indirected_Type::equal_i ( CORBA::TypeCode_ptr  tc) const
protectedvirtual

Typecode id.

Implements CORBA::TypeCode.

CORBA::Boolean TAO::TypeCode::Indirected_Type::equivalent_i ( CORBA::TypeCode_ptr  tc) const
protectedvirtual

Typecode id.

Implements CORBA::TypeCode.

CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::get_compact_typecode_i ( void  ) const
protectedvirtual

Typecode id.

Implements CORBA::TypeCode.

char const * TAO::TypeCode::Indirected_Type::id_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::ULong TAO::TypeCode::Indirected_Type::member_count_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::Any * TAO::TypeCode::Indirected_Type::member_label_i ( CORBA::ULong  index) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

char const * TAO::TypeCode::Indirected_Type::member_name_i ( CORBA::ULong  index) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::member_type_i ( CORBA::ULong  index) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

CORBA::Visibility TAO::TypeCode::Indirected_Type::member_visibility_i ( CORBA::ULong  index) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

char const * TAO::TypeCode::Indirected_Type::name_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

void TAO::TypeCode::Indirected_Type::set_recursive_tc ( CORBA::TypeCode_ptr  tc)

Setter for recursive reference.

void TAO::TypeCode::Indirected_Type::tao_duplicate ( void  )
virtual

Increase the reference count on this TypeCode.

Implements CORBA::TypeCode.

bool TAO::TypeCode::Indirected_Type::tao_marshal ( TAO_OutputCDR cdr,
CORBA::ULong  offset 
) const
virtual

Marshal this TypeCode into a CDR output stream.

Marshal this TypeCode into the cdr output CDR stream, excluding the TypeCode kind. Existing cdr contents will not be altered. The marshaled TypeCode will be appended to the given cdr CDR output stream.

Parameters
cdrOutput CDR stream into which the TypeCode will be marshaled.
offsetNumber of bytes currently in the output CDR stream, including the top-level TypeCode TCKind. This argument is useful for recursive TypeCodes. TypeCodes that contain other TypeCodes should pass an updated offset value to the marshaling operation for those contained TypeCodes.
Returns
true if marshaling was successful.
Note
This is a TAO-specific method that is not part of the standard CORBA::TypeCode interface.
If this method returns false, the contents of the cdr output CDR stream are undefined.

Implements CORBA::TypeCode.

bool TAO::TypeCode::Indirected_Type::tao_marshal_kind ( TAO_OutputCDR cdr) const
virtual

Marshal the TypeCode TCKind.

Reimplemented from CORBA::TypeCode.

void TAO::TypeCode::Indirected_Type::tao_release ( void  )
virtual

Decrease the reference count on this object.

Implements CORBA::TypeCode.

CORBA::ValueModifier TAO::TypeCode::Indirected_Type::type_modifier_i ( void  ) const
protectedvirtual

Typecode id.

Reimplemented from CORBA::TypeCode.

Member Data Documentation

CORBA::String_var TAO::TypeCode::Indirected_Type::id_
private

Typecode id.

TAO_SYNCH_MUTEX TAO::TypeCode::Indirected_Type::mutex_
private

Lock.

CORBA::TypeCode_ptr TAO::TypeCode::Indirected_Type::recursive_tc_
private

Reference of recursive typecode instance.

unsigned long TAO::TypeCode::Indirected_Type::refcount_
private

Reference counter.


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