Empty_Param_TypeCode.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Empty_Param_TypeCode.h
00006  *
00007  *  $Id: Empty_Param_TypeCode.h 76551 2007-01-24 13:42:44Z johnnyw $
00008  *
00009  *  Header file for @c CORBA::TypeCodes with empty parameter lists.
00010  *
00011  *  @author Ossama Othman <ossama@dre.vanderbilt.edu>
00012  */
00013 //=============================================================================
00014 
00015 #ifndef TAO_EMPTY_PARAM_TYPECODE_H
00016 #define TAO_EMPTY_PARAM_TYPECODE_H
00017 
00018 #include /**/ "ace/pre.h"
00019 
00020 #include "tao/AnyTypeCode/TypeCode.h"
00021 
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif /* ACE_LACKS_PRAGMA_ONCE */
00025 
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 namespace TAO
00029 {
00030   namespace TypeCode
00031   {
00032 
00033     /**
00034      * @class Empty_Param
00035      *
00036      * @brief @c CORBA::TypeCode implementation for OMG IDL types with
00037      *        empty parameter lists.
00038      *
00039      * This class implements a @c CORBA::TypeCode for OMG IDL types
00040      * with empty parameter lists.
00041      *
00042      * @note @c Empty_Param @c TypeCodes are not reference counted in
00043      *       TAO since they are static, exist as constants for the
00044      *       length of a given OS process, and cannot be created
00045      *       through the @c CORBA::ORB or @c CORBA::TypeCodeFactory
00046      *       interfaces.
00047      */
00048     class Empty_Param : public CORBA::TypeCode
00049     {
00050     public:
00051 
00052       /// Constructor.
00053       Empty_Param (CORBA::TCKind k);
00054 
00055       /**
00056        * @name TAO-specific @c CORBA::TypeCode Methods
00057        *
00058        * Methods required by TAO's implementation of the
00059        * @c CORBA::TypeCode class.
00060        *
00061        * @see @c CORBA::TypeCode
00062        */
00063       //@{
00064       virtual bool tao_marshal (TAO_OutputCDR & cdr,
00065                                 CORBA::ULong offset) const;
00066       virtual void tao_duplicate (void);
00067       virtual void tao_release (void);
00068       //@}
00069 
00070     protected:
00071 
00072       /**
00073        * @name @c TAO CORBA::TypeCode Template Methods
00074        *
00075        * @c CORBA::TypeCode template methods specific to @c TypeCodes
00076        * with empty parameter lists.
00077        *
00078        * @see @c CORBA::TypeCode
00079        */
00080       //@{
00081       virtual CORBA::Boolean equal_i (CORBA::TypeCode_ptr tc) const;
00082       virtual CORBA::Boolean equivalent_i (CORBA::TypeCode_ptr tc) const;
00083       virtual CORBA::TypeCode_ptr get_compact_typecode_i (void) const;
00084 
00085     };
00086 
00087   }  // End namespace TypeCode
00088 }  // End namespace TAO
00089 
00090 TAO_END_VERSIONED_NAMESPACE_DECL
00091 
00092 
00093 #ifdef __ACE_INLINE__
00094 # include "tao/AnyTypeCode/Empty_Param_TypeCode.inl"
00095 #endif  /* __ACE_INLINE__ */
00096 
00097 #include /**/ "ace/post.h"
00098 
00099 #endif /* TAO_EMPTY_PARAM_TYPECODE_H */

Generated on Sun Jan 27 13:21:06 2008 for TAO_AnyTypeCode by doxygen 1.3.6