Public Types |
typedef CORBA_TypeCode_ptr | _ptr_type |
typedef CORBA_TypeCode_var | _var_type |
enum | traverse_status { TRAVERSE_STOP,
TRAVERSE_CONTINUE
} |
Public Methods |
CORBA::Boolean | equal (CORBA::TypeCode_ptr, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Compares two typecodes. Must be identical in every respect.
|
CORBA::Boolean | equivalent (CORBA::TypeCode_ptr, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Conforms to CORBA 2.3.1 (99-10-07).
|
CORBA::TCKind | kind (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| For all TypeCode kinds, returns the "kind" of the typecode.
|
const char* | id (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| For tk_{objref,struct,union,enum,alias,except}. Returns the repository ID, raises BadKind.
|
const char* | name (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns name (), raises (BadKind).
|
CORBA::ULong | member_count (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns member_count (), raises (BadKind). Useful for tk_struct, tk_union, tk_enum, tk_alias, and tk_except.
|
const char* | member_name (CORBA::ULong slot, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns member_name (...), raises (BadKind, Bounds); Useful for tk_struct, tk_union, tk_enum, tk_alias, and tk_except.
|
CORBA::TypeCode_ptr | member_type (CORBA::ULong slot, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns member_type (...), raises (BadKind, Bounds); Useful for tk_struct, tk_union, and tk_except.
|
CORBA::Any_ptr | member_label (CORBA::ULong n, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| For tk_union. Returns the label. Raises BadKind, Bounds.
|
CORBA::TypeCode_ptr | discriminator_type ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) const |
| Returns the discriminator type for tk_union. raises (BadKind).
|
CORBA::Long | default_index (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns the default slot for the tk_union. Raises (BadKind).
|
CORBA::ULong | length (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns length, raises (BadKind). Used for tk_string, tk_sequence, and tk_array.
|
CORBA::TypeCode_ptr | content_type (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Returns the content type (element type). Raises (BadKind); Useful for tk_sequence, tk_array, and tk_alias.
|
| CORBA_TypeCode (CORBA::TCKind kind) |
| This constructor is used only for built-in TypeCode constants, with no parameters.
|
| CORBA_TypeCode (CORBA::TCKind kind, size_t length, const char *buffer, CORBA::Boolean orb_owns_tc, CORBA::ULong size, CORBA::TypeCode_ptr parent = 0) |
| ~CORBA_TypeCode (void) |
| destructor.
|
CORBA::ULong | _incr_refcnt (void) |
CORBA::ULong | _decr_refcnt (void) |
CORBA::Any_ptr | parameter (const CORBA::Long slot, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| Deprecated in the CORBA 2.2 spec and missing altogether from 2.3a (98-12-04),.
|
CORBA::ULong | param_count (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Deprecated, CORBA 1.2, not fully usable. Returns the number of parameters that the typecode takes.
|
Public Attributes |
size_t | length_ |
| length of the encapsulated stream.
|
const char* | buffer_ |
| the encapsulated stream.
|
CORBA::Long | byte_order_ |
| The byte order in the encapsulated stream.
|
CORBA::Long | kind_ |
| the TypeCode kind.
|
CORBA::TypeCode_ptr | parent_ |
const char* | tc_base_ |
const char* | root_tc_base_ |
Static Public Methods |
CORBA::TypeCode_ptr | _duplicate (CORBA::TypeCode_ptr tc) |
| Duplicates i.e., increments ref count.
|
CORBA::TypeCode_ptr | _nil (void) |
| Returns a NULL typecode.
|
void | _tao_decode (const CORBA_TypeCode *parent, TAO_InputCDR &cdr, CORBA_TypeCode *&child, CORBA::Environment &ACE_TRY_ENV) |
| CDR decoding: the >> operator is not enough because we must also respect the parent/child relationship among TypeCodes.
|
CORBA::Boolean | skip_typecode (TAO_InputCDR &stream) |
| skip a typecode encoding in a given CDR stream. This is just a helper function.
|
Static Public Attributes |
CORBA::TypeCode_ptr | _tc_Bounds |
CORBA::TypeCode_ptr | _tc_BadKind |
Private Methods |
CORBA::Boolean | equ_common (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
CORBA::Boolean | private_equal (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Compares the typecodes.
|
const char* | private_id (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| For tk_{objref,struct,union,enum,alias,except}. Returns the repository ID, raises BadKind.
|
const char* | private_name (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| returns name (), raises (BadKind).
|
CORBA::ULong | private_member_count (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| returns member_count (), raises (BadKind). Useful for tk_struct, tk_union, tk_enum, tk_alias, and tk_except.
|
CORBA::TypeCode_ptr | private_member_type ( CORBA::ULong slot, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) const |
| returns member_type (...), raises (BadKind, Bounds); Useful for tk_struct, tk_union, and tk_except.
|
const char* | private_member_name (CORBA::ULong slot, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| returns member_name (...), raises (BadKind, Bounds); Useful for tk_union, tk_struct, tk_except, and tk_enum.
|
CORBA::Any_ptr | private_member_label (CORBA::ULong n, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| For tk_union. Returns the label. Raises BadKind, Bounds.
|
CORBA::TypeCode_ptr | private_discriminator_type ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) const |
| returns the discriminator type for tk_union, and acquires the lock for the wrapped function below. raises (BadKind).
|
CORBA::TypeCode_ptr | private_discriminator_type_i ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) const |
| Acquires no lock so it can be called internally from blocks which have a lock.
|
CORBA::Long | private_default_index (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| returns the default slot for the tk_union. Raises (BadKind);.
|
CORBA::Long | private_default_index_i (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| Acquires no lock so it can be called internally from blocks which have a lock.
|
CORBA::Long | private_length (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| returns length, raises (BadKind). Used for tk_string, tk_sequence, and tk_array.
|
CORBA::TypeCode_ptr | private_content_type ( CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) const |
| returns the content type (element type). Raises (BadKind); Useful for tk_sequence, tk_array, and tk_alias.
|
CORBA::Boolean | private_equal_objref (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of objrefs.
|
CORBA::Boolean | private_equal_struct (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of structs.
|
CORBA::Boolean | private_equal_union (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of unions.
|
CORBA::Boolean | private_equal_enum (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of enums.
|
CORBA::Boolean | private_equal_string (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of strings.
|
CORBA::Boolean | private_equal_wstring (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of wide strings.
|
CORBA::Boolean | private_equal_sequence (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of sequences.
|
CORBA::Boolean | private_equal_array (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of array.
|
CORBA::Boolean | private_equal_alias (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of typedefs.
|
CORBA::Boolean | private_equal_except (CORBA::TypeCode_ptr tc, CORBA::Boolean equiv_only, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| test equality for typecodes of exceptions.
|
| CORBA_TypeCode (const CORBA::TypeCode &src) |
CORBA_TypeCode& | operator= (const CORBA::TypeCode &src) |
Private Attributes |
CORBA::ULong | refcount_ |
| if refcount reaches 0, free this typecode.
|
TAO_SYNCH_MUTEX | refcount_lock_ |
| Protect the reference count, this is OK because we do no duplicates or releases on the critical path.
|
CORBA::Boolean | orb_owns_ |
| TAO's approach differs from the SunSoft IIOP. Constant typecodes are owned by the ORB and get freed only when the ORB dies.
|
TC_Private_State* | private_state_ |
char* | non_aligned_buffer_ |