CORBA::TypeCode
implementation for OMG IDL types with empty parameter lists.
More...
#include <Empty_Param_TypeCode.h>
Inheritance diagram for TAO::TypeCode::Empty_Param:
Public Member Functions | |
Empty_Param (CORBA::TCKind k) | |
Constructor. | |
TAO-specific @c CORBA::TypeCode Methods | |
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.
| |
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 |
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.
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.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO::TypeCode::Empty_Param::Empty_Param | ( | CORBA::TCKind | k | ) |
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.
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 . |
true
if marshaling was successful.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.
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 }