00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _TAO_IDL_CURRENTC_H_
00032 #define _TAO_IDL_CURRENTC_H_
00033
00034 #include "ace/pre.h"
00035
00036
00037 #include "ace/config-all.h"
00038
00039 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00040 # pragma once
00041 #endif
00042
00043 #include "tao/TAO_Export.h"
00044 #include "tao/ORB.h"
00045 #include "tao/Environment.h"
00046 #include "tao/Object.h"
00047 #include "tao/Objref_VarOut_T.h"
00048
00049 #if defined (TAO_EXPORT_MACRO)
00050 #undef TAO_EXPORT_MACRO
00051 #endif
00052 #define TAO_EXPORT_MACRO TAO_Export
00053
00054 #if defined(_MSC_VER)
00055 #pragma warning(push)
00056 #pragma warning(disable:4250)
00057 #endif
00058
00059
00060
00061
00062 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00063
00064 namespace CORBA
00065 {
00066
00067
00068
00069
00070 #if !defined (_CORBA_CURRENT__VAR_OUT_CH_)
00071 #define _CORBA_CURRENT__VAR_OUT_CH_
00072
00073 class Current;
00074 typedef Current *Current_ptr;
00075
00076 typedef
00077 TAO_Objref_Var_T<
00078 Current
00079 >
00080 Current_var;
00081
00082 typedef
00083 TAO_Objref_Out_T<
00084 Current
00085 >
00086 Current_out;
00087
00088 #endif
00089
00090
00091
00092
00093 #if !defined (_CORBA_CURRENT_CH_)
00094 #define _CORBA_CURRENT_CH_
00095
00096 class TAO_Export Current
00097 : public virtual CORBA::Object
00098 {
00099 public:
00100 typedef Current_ptr _ptr_type;
00101 typedef Current_var _var_type;
00102
00103
00104 static Current_ptr _duplicate (Current_ptr obj);
00105
00106 static void _tao_release (Current_ptr obj);
00107
00108 static Current_ptr _narrow (
00109 CORBA::Object_ptr obj
00110 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00111 );
00112
00113 static Current_ptr _unchecked_narrow (
00114 CORBA::Object_ptr obj
00115 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00116 );
00117
00118 static Current_ptr _nil (void)
00119 {
00120 return static_cast<Current_ptr> (0);
00121 }
00122
00123
00124
00125
00126
00127
00128 virtual CORBA::Boolean _is_a (
00129 const char *type_id
00130 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00131 );
00132
00133 virtual const char* _interface_repository_id (void) const;
00134 virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00135
00136 protected:
00137
00138 Current (void);
00139
00140 virtual ~Current (void);
00141
00142 private:
00143
00144 Current (const Current &);
00145
00146 void operator= (const Current &);
00147 };
00148
00149 #endif
00150
00151
00152
00153
00154 }
00155
00156
00157
00158
00159
00160 namespace TAO
00161 {
00162
00163 #if !defined (_CORBA_CURRENT__TRAITS_)
00164 #define _CORBA_CURRENT__TRAITS_
00165
00166 template<>
00167 struct TAO_Export Objref_Traits< ::CORBA::Current>
00168 {
00169 static ::CORBA::Current_ptr duplicate (
00170 ::CORBA::Current_ptr
00171 );
00172 static void release (
00173 ::CORBA::Current_ptr
00174 );
00175 static ::CORBA::Current_ptr nil (void);
00176 static CORBA::Boolean marshal (
00177 const ::CORBA::Current_ptr p,
00178 TAO_OutputCDR & cdr
00179 );
00180 };
00181
00182 #endif
00183 }
00184
00185
00186
00187
00188 TAO_END_VERSIONED_NAMESPACE_DECL
00189
00190 #if defined(_MSC_VER)
00191 #pragma warning(pop)
00192 #endif
00193
00194 #include "ace/post.h"
00195
00196 #endif
00197
00198