ServicesC.h
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__HOME_KALTAN_SRC_WWW_OROCOS_1_0_EXPORT_BUILD_OROCOS_RTT_1_8_5_BUILD_SRC_CORBA_SERVICESC_H_
00032 #define _TAO_IDL__HOME_KALTAN_SRC_WWW_OROCOS_1_0_EXPORT_BUILD_OROCOS_RTT_1_8_5_BUILD_SRC_CORBA_SERVICESC_H_
00033
00034
00035 #include "ace/config-all.h"
00036
00037 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00038 # pragma once
00039 #endif
00040
00041
00042 #include "tao/AnyTypeCode/AnyTypeCode_methods.h"
00043 #include "tao/ORB.h"
00044 #include "tao/SystemException.h"
00045 #include "tao/Basic_Types.h"
00046 #include "tao/ORB_Constants.h"
00047 #include "tao/Object.h"
00048 #include "tao/Objref_VarOut_T.h"
00049 #include "tao/Versioned_Namespace.h"
00050
00051 #if defined (TAO_EXPORT_MACRO)
00052 #undef TAO_EXPORT_MACRO
00053 #endif
00054 #define TAO_EXPORT_MACRO
00055
00056
00057
00058 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00059
00060
00061
00062 namespace TAO
00063 {
00064 class Collocation_Proxy_Broker;
00065 template<typename T> class Narrow_Utils;
00066 }
00067 TAO_END_VERSIONED_NAMESPACE_DECL
00068
00069
00070
00071
00072
00073
00074 namespace RTT
00075 {
00076
00077
00078
00079
00080 namespace Corba
00081 {
00082
00083
00084
00085
00086 #if !defined (_RTT_CORBA_SERVICEINTERFACE__VAR_OUT_CH_)
00087 #define _RTT_CORBA_SERVICEINTERFACE__VAR_OUT_CH_
00088
00089 class ServiceInterface;
00090 typedef ServiceInterface *ServiceInterface_ptr;
00091
00092 typedef
00093 TAO_Objref_Var_T<
00094 ServiceInterface
00095 >
00096 ServiceInterface_var;
00097
00098 typedef
00099 TAO_Objref_Out_T<
00100 ServiceInterface
00101 >
00102 ServiceInterface_out;
00103
00104 #endif
00105
00106
00107
00108
00109 #if !defined (_RTT_CORBA_SERVICEINTERFACE_CH_)
00110 #define _RTT_CORBA_SERVICEINTERFACE_CH_
00111
00112 class ServiceInterface
00113 : public virtual ::CORBA::Object
00114 {
00115 public:
00116 friend class TAO::Narrow_Utils<ServiceInterface>;
00117 typedef ServiceInterface_ptr _ptr_type;
00118 typedef ServiceInterface_var _var_type;
00119 typedef ServiceInterface_out _out_type;
00120
00121
00122 static ServiceInterface_ptr _duplicate (ServiceInterface_ptr obj);
00123
00124 static void _tao_release (ServiceInterface_ptr obj);
00125
00126 static ServiceInterface_ptr _narrow (::CORBA::Object_ptr obj);
00127 static ServiceInterface_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
00128 static ServiceInterface_ptr _nil (void)
00129 {
00130 return static_cast<ServiceInterface_ptr> (0);
00131 }
00132
00133 static void _tao_any_destructor (void *);
00134
00135
00136
00137
00138 virtual char * getLogMessage (
00139 void);
00140
00141
00142
00143
00144 virtual ::CORBA::Boolean requestShutdown (
00145 void);
00146
00147
00148
00149
00150 virtual ::CORBA::Boolean _is_a (const char *type_id);
00151 virtual const char* _interface_repository_id (void) const;
00152 virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00153 private:
00154 TAO::Collocation_Proxy_Broker *the_TAO_ServiceInterface_Proxy_Broker_;
00155
00156 protected:
00157
00158 ServiceInterface (void);
00159
00160
00161
00162 virtual void RTT_Corba_ServiceInterface_setup_collocation (void);
00163
00164
00165 ServiceInterface (
00166 IOP::IOR *ior,
00167 TAO_ORB_Core *orb_core = 0);
00168
00169
00170 ServiceInterface (
00171 TAO_Stub *objref,
00172 ::CORBA::Boolean _tao_collocated = false,
00173 TAO_Abstract_ServantBase *servant = 0,
00174 TAO_ORB_Core *orb_core = 0);
00175
00176 virtual ~ServiceInterface (void);
00177
00178 private:
00179
00180 ServiceInterface (const ServiceInterface &);
00181
00182 void operator= (const ServiceInterface &);
00183 };
00184
00185 #endif
00186
00187
00188
00189
00190 extern ::CORBA::TypeCode_ptr const _tc_ServiceInterface;
00191
00192
00193
00194
00195 }
00196
00197
00198
00199
00200 }
00201
00202
00203
00204
00205
00206
00207 extern
00208 TAO::Collocation_Proxy_Broker *
00209 (*RTT_Corba__TAO_ServiceInterface_Proxy_Broker_Factory_function_pointer) (
00210 ::CORBA::Object_ptr obj
00211 );
00212
00213
00214
00215
00216 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00217
00218
00219 namespace TAO
00220 {
00221
00222 #if !defined (_RTT_CORBA_SERVICEINTERFACE__TRAITS_)
00223 #define _RTT_CORBA_SERVICEINTERFACE__TRAITS_
00224
00225 template<>
00226 struct Objref_Traits< ::RTT::Corba::ServiceInterface>
00227 {
00228 static ::RTT::Corba::ServiceInterface_ptr duplicate (
00229 ::RTT::Corba::ServiceInterface_ptr p
00230 );
00231 static void release (
00232 ::RTT::Corba::ServiceInterface_ptr p
00233 );
00234 static ::RTT::Corba::ServiceInterface_ptr nil (void);
00235 static ::CORBA::Boolean marshal (
00236 const ::RTT::Corba::ServiceInterface_ptr p,
00237 TAO_OutputCDR & cdr
00238 );
00239 };
00240
00241 #endif
00242 }
00243 TAO_END_VERSIONED_NAMESPACE_DECL
00244
00245
00246
00247
00248
00249
00250
00251
00252 #if defined (ACE_ANY_OPS_USE_NAMESPACE)
00253
00254 namespace RTT
00255 {
00256
00257 namespace Corba
00258 {
00259 void operator<<= ( ::CORBA::Any &, ServiceInterface_ptr);
00260 void operator<<= ( ::CORBA::Any &, ServiceInterface_ptr *);
00261 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ServiceInterface_ptr &);
00262 }
00263 }
00264
00265 #else
00266
00267
00268 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00269
00270 void operator<<= (::CORBA::Any &, RTT::Corba::ServiceInterface_ptr);
00271 void operator<<= (::CORBA::Any &, RTT::Corba::ServiceInterface_ptr *);
00272 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, RTT::Corba::ServiceInterface_ptr &);
00273 TAO_END_VERSIONED_NAMESPACE_DECL
00274
00275
00276
00277 #endif
00278
00279
00280
00281
00282 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00283
00284 ::CORBA::Boolean operator<< (TAO_OutputCDR &, const RTT::Corba::ServiceInterface_ptr );
00285 ::CORBA::Boolean operator>> (TAO_InputCDR &, RTT::Corba::ServiceInterface_ptr &);
00286
00287 TAO_END_VERSIONED_NAMESPACE_DECL
00288
00289
00290
00291
00292
00293 #if defined (__ACE_INLINE__)
00294 #include "ServicesC.inl"
00295 #endif
00296
00297 #endif
00298
00299