00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef TAO_OBJREF_TYPECODE_STATIC_H
00023 #define TAO_OBJREF_TYPECODE_STATIC_H
00024
00025 #include "ace/pre.h"
00026
00027 #include "tao/AnyTypeCode/TypeCode.h"
00028
00029 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00030 # pragma once
00031 #endif
00032
00033 #include "tao/AnyTypeCode/TypeCode_Base_Attributes.h"
00034 #include "tao/AnyTypeCode/Null_RefCount_Policy.h"
00035
00036
00037 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00038
00039 namespace TAO
00040 {
00041 namespace TypeCode
00042 {
00043 template <typename StringType, class RefCountPolicy> class Objref;
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 template<>
00056 class TAO_AnyTypeCode_Export Objref<char const *, TAO::Null_RefCount_Policy>
00057 : public CORBA::TypeCode,
00058 private TAO::Null_RefCount_Policy
00059 {
00060 public:
00061
00062
00063 Objref (CORBA::TCKind kind,
00064 char const * id,
00065 char const * name);
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076 virtual bool tao_marshal (TAO_OutputCDR & cdr,
00077 CORBA::ULong offset) const;
00078 virtual void tao_duplicate (void);
00079 virtual void tao_release (void);
00080
00081
00082 protected:
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094 virtual CORBA::Boolean equal_i (CORBA::TypeCode_ptr tc) const;
00095 virtual CORBA::Boolean equivalent_i (CORBA::TypeCode_ptr tc) const;
00096 virtual CORBA::TypeCode_ptr get_compact_typecode_i (void) const;
00097 virtual char const * id_i (void) const;
00098 virtual char const * name_i (void) const;
00099
00100 protected:
00101
00102
00103 Base_Attributes<char const *> attributes_;
00104
00105 };
00106
00107 }
00108 }
00109
00110 TAO_END_VERSIONED_NAMESPACE_DECL
00111
00112 #ifdef __ACE_INLINE__
00113 # include "tao/AnyTypeCode/Objref_TypeCode_Static.inl"
00114 #endif
00115
00116 #include "ace/post.h"
00117
00118 #endif