Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CORBA::TypeCode Class Reference

A representation of the structure of a given OMG IDL-declared type. More...

#include <TypeCode.h>

Inheritance diagram for CORBA::TypeCode:

Inheritance graph
[legend]
List of all members.

Public Types

typedef CORBA::TypeCode_var _var_type

Public Member Functions

virtual bool tao_marshal_kind (TAO_OutputCDR &cdr) const
 Marshal the TypeCode TCKind.
virtual bool tao_marshal (TAO_OutputCDR &cdr, CORBA::ULong offset) const =0
 Marshal this TypeCode into a CDR output stream.
virtual void tao_duplicate (void)=0
 Increase the reference count on this TypeCode.
virtual void tao_release (void)=0
 Decrease the reference count on this object.
@c CORBA::TypeCode Methods
These methods are part of the public interface of CORBA::TypeCode class, as defined by the OMG CORBA specification and C++ mapping.

The C++ mapping does not declare the methods in the public CORBA::TypeCode API as virtual, so work around that by making these methods inlined to forward all calls to the corresponding protected template method (i.e. the design pattern, not the C++ feature) listed below in the protected block.

Boolean equal (TypeCode_ptr tc ACE_ENV_ARG_DECL) const
 Equality of two TypeCodes.
Boolean equivalent (TypeCode_ptr tc ACE_ENV_ARG_DECL) const
 Equivalence of two TypeCodes.
TCKind kind (ACE_ENV_SINGLE_ARG_DECL) const
 The kind of TypeCode.
TypeCode_ptr get_compact_typecode (ACE_ENV_SINGLE_ARG_DECL) const
char const * id (ACE_ENV_SINGLE_ARG_DECL) const
 The RepositoryId globally identifying the type.
char const * name (ACE_ENV_SINGLE_ARG_DECL) const
ULong member_count (ACE_ENV_SINGLE_ARG_DECL) const
 The type member count.
char const * member_name (ULong index ACE_ENV_ARG_DECL) const
 The type member name.
TypeCode_ptr member_type (ULong index ACE_ENV_ARG_DECL) const
 The type member TypeCode.
Anymember_label (ULong index ACE_ENV_ARG_DECL) const
 The union member label.
TypeCode_ptr discriminator_type (ACE_ENV_SINGLE_ARG_DECL) const
 The type of all non-default union member labels.
Long default_index (ACE_ENV_SINGLE_ARG_DECL) const
 The index of the default union member.
ULong length (ACE_ENV_SINGLE_ARG_DECL) const
 The length of the type.
TypeCode_ptr content_type (ACE_ENV_SINGLE_ARG_DECL) const
 The underlying content type.
UShort fixed_digits (ACE_ENV_SINGLE_ARG_DECL) const
 The number of significant digits.
UShort fixed_scale (ACE_ENV_SINGLE_ARG_DECL) const
 The scale factor.
Visibility member_visibility (ULong index ACE_ENV_ARG_DECL) const
ValueModifier type_modifier (ACE_ENV_SINGLE_ARG_DECL) const
TypeCode_ptr concrete_base_type (ACE_ENV_SINGLE_ARG_DECL) const

Static Public Member Functions

CORBA::TypeCode_ptr _duplicate (CORBA::TypeCode_ptr tc)
 Duplicate this TypeCode.
CORBA::TypeCode_ptr _nil (void)
 Returns a NULL typecode.
void _tao_any_destructor (void *x)
 Destruction callback for Anys.

Static Public Attributes

CORBA::TypeCode_ptr const _tc_Bounds
CORBA::TypeCode_ptr const _tc_BadKind

Protected Member Functions

 TypeCode (CORBA::TCKind kind)
 Constructor.
virtual ~TypeCode (void)
 Destructor.
@c TypeCode Template Methods
Methods that must be implemented by CORBA::TypeCode subclasses if valid for those subclasses.

The default implementations of the non-pure virtual methods throw the CORBA::TypeCode::BadKind exception since many of these methods are TypeCode type-specific. This reduces code duplication and bloat.

The TypeCode equal(), equivalent(), kind() and get_compact_typecode() methods are valid for all TypeCodes which is why their template method "@c _i" counterparts are pure virtual.

virtual Boolean equal_i (TypeCode_ptr tc ACE_ENV_ARG_DECL) const =0
virtual Boolean equivalent_i (TypeCode_ptr tc ACE_ENV_ARG_DECL) const =0
virtual TypeCode_ptr get_compact_typecode_i (ACE_ENV_SINGLE_ARG_DECL) const =0
virtual char const * id_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * name_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual ULong member_count_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual char const * member_name_i (ULong index ACE_ENV_ARG_DECL) const
virtual TypeCode_ptr member_type_i (ULong index ACE_ENV_ARG_DECL) const
virtual Anymember_label_i (ULong index ACE_ENV_ARG_DECL) const
virtual TypeCode_ptr discriminator_type_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual Long default_index_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual ULong length_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual TypeCode_ptr content_type_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual UShort fixed_digits_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual UShort fixed_scale_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual Visibility member_visibility_i (ULong index ACE_ENV_ARG_DECL) const
virtual ValueModifier type_modifier_i (ACE_ENV_SINGLE_ARG_DECL) const
virtual TypeCode_ptr concrete_base_type_i (ACE_ENV_SINGLE_ARG_DECL) const

Protected Attributes

TCKind const kind_
 The kind of TypeCode.

Private Member Functions

 TypeCode (TypeCode const &)
void operator= (TypeCode const &)

Detailed Description

A representation of the structure of a given OMG IDL-declared type.

TypeCodes are primarily used by CORBA::Anys, the CORBA Interface Repository and the CORBA Dynamic Invocation Interface.


Member Typedef Documentation

typedef CORBA::TypeCode_var CORBA::TypeCode::_var_type
 


Constructor & Destructor Documentation

ACE_INLINE CORBA::TypeCode::TypeCode CORBA::TCKind  kind  )  [protected]
 

Constructor.

CORBA::TypeCode::~TypeCode void   )  [protected, virtual]
 

Destructor.

Protected destructor to enforce proper memory management through the reference counting mechanism.

CORBA::TypeCode::TypeCode TypeCode const &   )  [private]
 


Member Function Documentation

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::_duplicate CORBA::TypeCode_ptr  tc  )  [static]
 

Duplicate this TypeCode.

Statically instantiated TypeCodes incur no reference count manipulation, i.e. reference counting is a no-op.

Dynamically instantiated TypeCodes will have their reference count incremented by one each time this function is called.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::_nil void   )  [static]
 

Returns a NULL typecode.

ACE_INLINE void CORBA::TypeCode::_tao_any_destructor void *  x  )  [static]
 

Destruction callback for Anys.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::concrete_base_type ACE_ENV_SINGLE_ARG_DECL   )  const
 

This method is valid for the following kinds of TypeCodes:

  • tk_value
  • tk_event
Returns:
TypeCode corresponding to the concrete base valuetype or eventtype. CORBA::TypeCode::_nil() if no concrete base exists.

CORBA::TypeCode_ptr CORBA::TypeCode::concrete_base_type_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::content_type ACE_ENV_SINGLE_ARG_DECL   )  const
 

The underlying content type.

This method is valid for the following kinds of TypeCodes:

  • tk_sequence
  • tk_array
  • tk_value_box
  • tk_alias

CORBA::TypeCode_ptr CORBA::TypeCode::content_type_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, and TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::Long CORBA::TypeCode::default_index ACE_ENV_SINGLE_ARG_DECL   )  const
 

The index of the default union member.

This method is valid for the following kinds of TypeCodes:

  • tk_union

CORBA::Long CORBA::TypeCode::default_index_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, and TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::discriminator_type ACE_ENV_SINGLE_ARG_DECL   )  const
 

The type of all non-default union member labels.

This method is valid for the following kinds of TypeCodes:

  • tk_union

CORBA::TypeCode_ptr CORBA::TypeCode::discriminator_type_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, and TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >.

CORBA::Boolean CORBA::TypeCode::equal TypeCode_ptr tc  ACE_ENV_ARG_DECL  )  const
 

Equality of two TypeCodes.

Returns:
true if and only if the set of legal operations is the same and invoking any operation on the this TypeCode and tc returns identical results.

virtual Boolean CORBA::TypeCode::equal_i TypeCode_ptr tc  ACE_ENV_ARG_DECL  )  const [protected, pure virtual]
 

CORBA::Boolean CORBA::TypeCode::equivalent TypeCode_ptr tc  ACE_ENV_ARG_DECL  )  const
 

Equivalence of two TypeCodes.

Equivalence of two TypeCodes satisfies a subset of the requirements necessary for equality.

See also:
equal

virtual Boolean CORBA::TypeCode::equivalent_i TypeCode_ptr tc  ACE_ENV_ARG_DECL  )  const [protected, pure virtual]
 

ACE_INLINE CORBA::UShort CORBA::TypeCode::fixed_digits ACE_ENV_SINGLE_ARG_DECL   )  const
 

The number of significant digits.

This method is valid for the following kinds of TypeCodes:

  • tk_fixed

CORBA::UShort CORBA::TypeCode::fixed_digits_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Fixed< RefCountPolicy >.

ACE_INLINE CORBA::UShort CORBA::TypeCode::fixed_scale ACE_ENV_SINGLE_ARG_DECL   )  const
 

The scale factor.

This method is valid for the following kinds of TypeCodes:

  • tk_fixed

CORBA::UShort CORBA::TypeCode::fixed_scale_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Fixed< RefCountPolicy >.

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::get_compact_typecode ACE_ENV_SINGLE_ARG_DECL   )  const
 

Note:
Calling this method will incur additional run-time memory consumption since TAO's implementation relies on the TypeCodeFactory to dynamically create a compact TypeCode; the exception being TypeCodes with empty parameter lists. Those TypeCodes are already compact, meaning that call this method on such TypeCodes incurs no additional run-time memory requirements.
Unless you need to send compact TypeCodes "over-the-wire" or your TypeCode corresponds to a type with a large number of members, try to stick with the existing potentially non-compact TypeCode.

Note:
Compact TypeCodes may also be generated statically by the TAO_IDL compiler by invoking it with its "-Gt" (i.e. enable optimized TypeCodes) command line option.

virtual TypeCode_ptr CORBA::TypeCode::get_compact_typecode_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, pure virtual]
 

Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE char const * CORBA::TypeCode::id ACE_ENV_SINGLE_ARG_DECL   )  const
 

The RepositoryId globally identifying the type.

This method is valid for the following kinds of TypeCodes:

  • tk_objref
  • tk_struct
  • tk_union
  • tk_enum
  • tk_alias
  • tk_value
  • tk_value_box
  • tk_native
  • tk_abstract_interface
  • tk_local_interface
  • tk_except
  • tk_component
  • tk_home
  • tk_event
Note:
CORBA::TypeCode::id() does not follow the usual parameter passing rules defined by the C++ mapping. This behavior is required by the C++ mapping. In particular, ownership is maintained by the TypeCode.

char const * CORBA::TypeCode::id_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::TCKind CORBA::TypeCode::kind ACE_ENV_SINGLE_ARG_DECL   )  const
 

The kind of TypeCode.

ACE_INLINE CORBA::ULong CORBA::TypeCode::length ACE_ENV_SINGLE_ARG_DECL   )  const
 

The length of the type.

This method is valid for the following kinds of TypeCodes:

  • tk_string
  • tk_wstring
  • tk_sequence
  • tk_array

CORBA::ULong CORBA::TypeCode::length_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, and TAO::TypeCode::String< TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::ULong CORBA::TypeCode::member_count ACE_ENV_SINGLE_ARG_DECL   )  const
 

The type member count.

This method is valid for the following kinds of TypeCodes:

  • tk_struct
  • tk_union
  • tk_enum
  • tk_value
  • tk_except
  • tk_event

CORBA::ULong CORBA::TypeCode::member_count_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::Any * CORBA::TypeCode::member_label ULong index  ACE_ENV_ARG_DECL  )  const
 

The union member label.

This method is valid for the following kinds of TypeCodes:

  • tk_union

virtual Any* CORBA::TypeCode::member_label_i ULong index  ACE_ENV_ARG_DECL  )  const [protected, virtual]
 

ACE_INLINE char const * CORBA::TypeCode::member_name ULong index  ACE_ENV_ARG_DECL  )  const
 

The type member name.

This method is valid for the following kinds of TypeCodes:

  • tk_struct
  • tk_union
  • tk_enum
  • tk_value
  • tk_except
  • tk_event
Note:
CORBA::TypeCode::member_name() does not follow the usual parameter passing rules defined by the C++ mapping. This behavior is required by the C++ mapping. In particular, ownership is maintained by the TypeCode.

virtual char const* CORBA::TypeCode::member_name_i ULong index  ACE_ENV_ARG_DECL  )  const [protected, virtual]
 

ACE_INLINE CORBA::TypeCode_ptr CORBA::TypeCode::member_type ULong index  ACE_ENV_ARG_DECL  )  const
 

The type member TypeCode.

This method is valid for the following kinds of TypeCodes:

  • tk_struct
  • tk_union
  • tk_value
  • tk_except
  • tk_event

virtual TypeCode_ptr CORBA::TypeCode::member_type_i ULong index  ACE_ENV_ARG_DECL  )  const [protected, virtual]
 

ACE_INLINE CORBA::Visibility CORBA::TypeCode::member_visibility ULong index  ACE_ENV_ARG_DECL  )  const
 

This method is valid for the following kinds of TypeCodes:

  • tk_value
  • tk_event

virtual Visibility CORBA::TypeCode::member_visibility_i ULong index  ACE_ENV_ARG_DECL  )  const [protected, virtual]
 

ACE_INLINE char const * CORBA::TypeCode::name ACE_ENV_SINGLE_ARG_DECL   )  const
 

This method is valid for the following kinds of TypeCodes:

  • tk_objref
  • tk_struct
  • tk_union
  • tk_enum
  • tk_alias
  • tk_value
  • tk_value_box
  • tk_native
  • tk_abstract_interface
  • tk_local_interface
  • tk_except
  • tk_component
  • tk_home
  • tk_event
Note:
CORBA::TypeCode::name() does not follow the usual parameter passing rules defined by the C++ mapping. This behavior is required by the C++ mapping. In particular, ownership is maintained by the TypeCode.

char const * CORBA::TypeCode::name_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

void CORBA::TypeCode::operator= TypeCode const &   )  [private]
 

virtual void CORBA::TypeCode::tao_duplicate void   )  [pure virtual]
 

Increase the reference count on this TypeCode.

Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

virtual bool CORBA::TypeCode::tao_marshal TAO_OutputCDR cdr,
CORBA::ULong  offset
const [pure 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:
cdr Output CDR stream into which the TypeCode will be marshaled.
offset Number 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 , the contents of the cdr output CDR stream are undefined.

Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

bool CORBA::TypeCode::tao_marshal_kind TAO_OutputCDR cdr  )  const [virtual]
 

Marshal the TypeCode TCKind.

virtual void CORBA::TypeCode::tao_release void   )  [pure virtual]
 

Decrease the reference count on this object.

Implemented in TAO::TypeCode::Alias< StringType, TypeCodeType, RefCountPolicy >, TAO::TypeCode::Alias< char const *, CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Empty_Param, TAO::TypeCode::Enum< StringType, EnumeratorArrayType, RefCountPolicy >, TAO::TypeCode::Enum< char const *, char const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Fixed< RefCountPolicy >, TAO::TypeCode::Objref< StringType, RefCountPolicy >, TAO::TypeCode::Objref< char const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Sequence< TypeCodeType, RefCountPolicy >, TAO::TypeCode::Sequence< CORBA::TypeCode_ptr const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::String< RefCountPolicy >, TAO::TypeCode::String< TAO::Null_RefCount_Policy >, TAO::TypeCode::Struct< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, TAO::TypeCode::Struct< char const *, CORBA::TypeCode_ptr const *, Struct_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Union< StringType, TypeCodeType, CaseArrayType, RefCountPolicy >, TAO::TypeCode::Union< char const *, CORBA::TypeCode_ptr const *, Case< char const *, CORBA::TypeCode_ptr const * > const *const *, TAO::Null_RefCount_Policy >, TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.

ACE_INLINE CORBA::ValueModifier CORBA::TypeCode::type_modifier ACE_ENV_SINGLE_ARG_DECL   )  const
 

This method is valid for the following kinds of TypeCodes:

  • tk_value
  • tk_event

CORBA::ValueModifier CORBA::TypeCode::type_modifier_i ACE_ENV_SINGLE_ARG_DECL   )  const [protected, virtual]
 

Reimplemented in TAO::TypeCode::Value< StringType, TypeCodeType, FieldArrayType, RefCountPolicy >, and TAO::TypeCode::Value< char const *, CORBA::TypeCode_ptr const *, Value_Field< char const *, CORBA::TypeCode_ptr const * > const *, TAO::Null_RefCount_Policy >.


Member Data Documentation

CORBA::TypeCode_ptr const CORBA::TypeCode::_tc_BadKind [static]
 

Initial value:

  &TAO::TypeCode::tc_BadKind

CORBA::TypeCode_ptr const CORBA::TypeCode::_tc_Bounds [static]
 

Initial value:

  &TAO::TypeCode::tc_Bounds

TCKind const CORBA::TypeCode::kind_ [protected]
 

The kind of TypeCode.


The documentation for this class was generated from the following files:
Generated on Thu Jun 9 00:18:38 2005 for TAO by  doxygen 1.3.9.1