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