TAO::TypeCode::Empty_Param Class Reference

CORBA::TypeCode implementation for OMG IDL types with empty parameter lists. More...

#include <Empty_Param_TypeCode.h>

Inheritance diagram for TAO::TypeCode::Empty_Param:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Empty_Param (CORBA::TCKind k)
 Constructor.

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 (TAO_OutputCDR &cdr, CORBA::ULong offset) const
 Marshal this TypeCode into a CDR output stream.

virtual void tao_duplicate (void)
 Increase the reference count on this TypeCode.

virtual void tao_release (void)
 Decrease the reference count on this object.


Protected Member Functions

@c TAO CORBA::TypeCode Template Methods
CORBA::TypeCode template methods specific to TypeCodes with empty parameter lists.

See also:
CORBA::TypeCode


virtual CORBA::Boolean equal_i (CORBA::TypeCode_ptr tc) const
virtual CORBA::Boolean equivalent_i (CORBA::TypeCode_ptr tc) const
virtual CORBA::TypeCode_ptr get_compact_typecode_i (void) const

Detailed Description

CORBA::TypeCode implementation for OMG IDL types with empty parameter lists.

This class implements a CORBA::TypeCode for OMG IDL types with empty parameter lists.

Note:
Empty_Param TypeCodes are not reference counted in TAO since they are static, exist as constants for the length of a given OS process, and cannot be created through the CORBA::ORB or CORBA::TypeCodeFactory interfaces.

Definition at line 48 of file Empty_Param_TypeCode.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO::TypeCode::Empty_Param::Empty_Param CORBA::TCKind  k  ) 
 

Constructor.

Definition at line 8 of file Empty_Param_TypeCode.inl.

00009   : ::CORBA::TypeCode (k)
00010 {
00011 }


Member Function Documentation

CORBA::Boolean TAO::TypeCode::Empty_Param::equal_i CORBA::TypeCode_ptr  tc  )  const [protected, virtual]
 

Implements CORBA::TypeCode.

Definition at line 42 of file Empty_Param_TypeCode.cpp.

00043 {
00044   // Equality has already been established in the
00045   // CORBA::TypeCode base class.
00046 
00047   return true;
00048 }

CORBA::Boolean TAO::TypeCode::Empty_Param::equivalent_i CORBA::TypeCode_ptr  tc  )  const [protected, virtual]
 

Implements CORBA::TypeCode.

Definition at line 51 of file Empty_Param_TypeCode.cpp.

00052 {
00053   // We could refactor this code to the CORBA::TypeCode::equivalent()
00054   // method but doing so would force us to determine the unaliased
00055   // kind of this TypeCode.  Since we already know the unaliased kind
00056   // of this TypeCode, choose to optimize away the additional kind
00057   // unaliasing operation rather than save space.
00058 
00059   CORBA::TCKind const tc_kind = TAO::unaliased_kind (tc);
00060 
00061   if (tc_kind != this->kind_)
00062     return false;
00063 
00064   return true;
00065 }

CORBA::TypeCode_ptr TAO::TypeCode::Empty_Param::get_compact_typecode_i void   )  const [protected, virtual]
 

Implements CORBA::TypeCode.

Definition at line 68 of file Empty_Param_TypeCode.cpp.

00069 {
00070   // Already compact since parameter list is empty.
00071 
00072   // Since empty parameter TypeCodes are never created
00073   // dynamically, there is no need to manipulate a reference count.
00074 
00075   static TAO::TypeCode::Empty_Param compact_typecode (this->kind_);
00076 
00077   return &compact_typecode;
00078 }

void TAO::TypeCode::Empty_Param::tao_duplicate void   )  [virtual]
 

Increase the reference count on this TypeCode.

Implements CORBA::TypeCode.

Definition at line 26 of file Empty_Param_TypeCode.cpp.

00027 {
00028   // No-op since empty parameter TypeCodes are never created
00029   // dynamically, meaning there is no need to implement reference
00030   // counting.
00031 }

TAO_BEGIN_VERSIONED_NAMESPACE_DECL bool TAO::TypeCode::Empty_Param::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:
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 false, the contents of the cdr output CDR stream are undefined.

Implements CORBA::TypeCode.

Definition at line 18 of file Empty_Param_TypeCode.cpp.

00019 {
00020   // Empty parameter list.  Nothing to marshal.
00021 
00022   return true;
00023 }

void TAO::TypeCode::Empty_Param::tao_release void   )  [virtual]
 

Decrease the reference count on this object.

Implements CORBA::TypeCode.

Definition at line 34 of file Empty_Param_TypeCode.cpp.

00035 {
00036   // No-op since empty parameter TypeCodes are never created
00037   // dynamically, meaning there is no need to implement reference
00038   // counting.
00039 }


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:22:09 2008 for TAO_AnyTypeCode by doxygen 1.3.6