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_DATAFLOWS_H_
00032 #define _TAO_IDL__HOME_KALTAN_SRC_WWW_OROCOS_1_0_EXPORT_BUILD_OROCOS_RTT_1_8_5_BUILD_SRC_CORBA_DATAFLOWS_H_
00033
00034
00035 #include "DataFlowC.h"
00036 #include "OperationsS.h"
00037
00038 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00039 # pragma once
00040 #endif
00041
00042 #include "tao/Collocation_Proxy_Broker.h"
00043 #include "tao/PortableServer/PortableServer.h"
00044 #include "tao/PortableServer/Servant_Base.h"
00045
00046
00047
00048
00049 namespace POA_RTT
00050 {
00051
00052
00053
00054
00055
00056 namespace Corba
00057 {
00058
00059
00060
00061
00062
00063 class BufferChannel;
00064 typedef BufferChannel *BufferChannel_ptr;
00065
00066 class BufferChannel
00067 : public virtual PortableServer::ServantBase
00068 {
00069 protected:
00070 BufferChannel (void);
00071
00072 public:
00073
00074 typedef ::RTT::Corba::BufferChannel _stub_type;
00075 typedef ::RTT::Corba::BufferChannel_ptr _stub_ptr_type;
00076 typedef ::RTT::Corba::BufferChannel_var _stub_var_type;
00077
00078 BufferChannel (const BufferChannel& rhs);
00079 virtual ~BufferChannel (void);
00080
00081 virtual ::CORBA::Boolean _is_a (const char* logical_type_id);
00082
00083 static void _is_a_skel (
00084 TAO_ServerRequest & req,
00085 void * servant_upcall,
00086 void * servant
00087 );
00088
00089 static void _non_existent_skel (
00090 TAO_ServerRequest & req,
00091 void * servant_upcall,
00092 void * servant
00093 );
00094
00095 static void _interface_skel (
00096 TAO_ServerRequest & req,
00097 void * servant_upcall,
00098 void * servant
00099 );
00100
00101 static void _component_skel (
00102 TAO_ServerRequest & req,
00103 void * servant_upcall,
00104 void * servant
00105 );
00106
00107 static void _repository_id_skel (
00108 TAO_ServerRequest & req,
00109 void * servant_upcall,
00110 void * servant);
00111
00112 virtual void _dispatch (
00113 TAO_ServerRequest & req,
00114 void * servant_upcall);
00115
00116 ::RTT::Corba::BufferChannel *_this (void);
00117
00118 virtual const char* _interface_repository_id (void) const;
00119
00120
00121
00122
00123 virtual ::CORBA::Boolean push (
00124 const ::CORBA::Any & value) = 0;
00125
00126 static void push_skel (
00127 TAO_ServerRequest & server_request,
00128 void * servant_upcall,
00129 void * servant
00130 );
00131
00132
00133
00134
00135 virtual ::CORBA::Boolean pull (
00136 ::CORBA::Any_out value) = 0;
00137
00138 static void pull_skel (
00139 TAO_ServerRequest & server_request,
00140 void * servant_upcall,
00141 void * servant
00142 );
00143
00144
00145
00146
00147 virtual ::CORBA::Any * front (
00148 void) = 0;
00149
00150 static void front_skel (
00151 TAO_ServerRequest & server_request,
00152 void * servant_upcall,
00153 void * servant
00154 );
00155
00156
00157
00158
00159 virtual ::CORBA::Boolean full (
00160 void) = 0;
00161
00162 static void full_skel (
00163 TAO_ServerRequest & server_request,
00164 void * servant_upcall,
00165 void * servant
00166 );
00167
00168
00169
00170
00171 virtual ::CORBA::Boolean empty (
00172 void) = 0;
00173
00174 static void empty_skel (
00175 TAO_ServerRequest & server_request,
00176 void * servant_upcall,
00177 void * servant
00178 );
00179
00180
00181
00182
00183 virtual ::CORBA::Long capacity (
00184 void) = 0;
00185
00186 static void capacity_skel (
00187 TAO_ServerRequest & server_request,
00188 void * servant_upcall,
00189 void * servant
00190 );
00191
00192
00193
00194
00195 virtual ::CORBA::Long size (
00196 void) = 0;
00197
00198 static void size_skel (
00199 TAO_ServerRequest & server_request,
00200 void * servant_upcall,
00201 void * servant
00202 );
00203
00204
00205
00206
00207 virtual void clear (
00208 void) = 0;
00209
00210 static void clear_skel (
00211 TAO_ServerRequest & server_request,
00212 void * servant_upcall,
00213 void * servant
00214 );
00215 };
00216
00217
00218
00219
00220 class DataFlowInterface;
00221 typedef DataFlowInterface *DataFlowInterface_ptr;
00222
00223 class DataFlowInterface
00224 : public virtual PortableServer::ServantBase
00225 {
00226 protected:
00227 DataFlowInterface (void);
00228
00229 public:
00230
00231 typedef ::RTT::Corba::DataFlowInterface _stub_type;
00232 typedef ::RTT::Corba::DataFlowInterface_ptr _stub_ptr_type;
00233 typedef ::RTT::Corba::DataFlowInterface_var _stub_var_type;
00234
00235 DataFlowInterface (const DataFlowInterface& rhs);
00236 virtual ~DataFlowInterface (void);
00237
00238 virtual ::CORBA::Boolean _is_a (const char* logical_type_id);
00239
00240 static void _is_a_skel (
00241 TAO_ServerRequest & req,
00242 void * servant_upcall,
00243 void * servant
00244 );
00245
00246 static void _non_existent_skel (
00247 TAO_ServerRequest & req,
00248 void * servant_upcall,
00249 void * servant
00250 );
00251
00252 static void _interface_skel (
00253 TAO_ServerRequest & req,
00254 void * servant_upcall,
00255 void * servant
00256 );
00257
00258 static void _component_skel (
00259 TAO_ServerRequest & req,
00260 void * servant_upcall,
00261 void * servant
00262 );
00263
00264 static void _repository_id_skel (
00265 TAO_ServerRequest & req,
00266 void * servant_upcall,
00267 void * servant);
00268
00269 virtual void _dispatch (
00270 TAO_ServerRequest & req,
00271 void * servant_upcall);
00272
00273 ::RTT::Corba::DataFlowInterface *_this (void);
00274
00275 virtual const char* _interface_repository_id (void) const;
00276
00277
00278
00279
00280 virtual ::RTT::Corba::DataFlowInterface::PortNames * getPorts (
00281 void) = 0;
00282
00283 static void getPorts_skel (
00284 TAO_ServerRequest & server_request,
00285 void * servant_upcall,
00286 void * servant
00287 );
00288
00289
00290
00291
00292 virtual ::RTT::Corba::AssignableExpression_ptr createDataChannel (
00293 const char * port_name) = 0;
00294
00295 static void createDataChannel_skel (
00296 TAO_ServerRequest & server_request,
00297 void * servant_upcall,
00298 void * servant
00299 );
00300
00301
00302
00303
00304 virtual ::RTT::Corba::BufferChannel_ptr createBufferChannel (
00305 const char * port_name) = 0;
00306
00307 static void createBufferChannel_skel (
00308 TAO_ServerRequest & server_request,
00309 void * servant_upcall,
00310 void * servant
00311 );
00312
00313
00314
00315
00316 virtual ::RTT::Corba::Expression_ptr createDataObject (
00317 const char * port_name) = 0;
00318
00319 static void createDataObject_skel (
00320 TAO_ServerRequest & server_request,
00321 void * servant_upcall,
00322 void * servant
00323 );
00324
00325
00326
00327
00328 virtual ::RTT::Corba::DataFlowInterface::ConnectionModel getConnectionModel (
00329 const char * port_name) = 0;
00330
00331 static void getConnectionModel_skel (
00332 TAO_ServerRequest & server_request,
00333 void * servant_upcall,
00334 void * servant
00335 );
00336
00337
00338
00339
00340 virtual ::RTT::Corba::DataFlowInterface::PortType getPortType (
00341 const char * port_name) = 0;
00342
00343 static void getPortType_skel (
00344 TAO_ServerRequest & server_request,
00345 void * servant_upcall,
00346 void * servant
00347 );
00348
00349
00350
00351
00352 virtual char * getDataType (
00353 const char * port_name) = 0;
00354
00355 static void getDataType_skel (
00356 TAO_ServerRequest & server_request,
00357 void * servant_upcall,
00358 void * servant
00359 );
00360
00361
00362
00363
00364 virtual ::CORBA::Boolean isConnected (
00365 const char * port_name) = 0;
00366
00367 static void isConnected_skel (
00368 TAO_ServerRequest & server_request,
00369 void * servant_upcall,
00370 void * servant
00371 );
00372
00373
00374
00375
00376 virtual void disconnect (
00377 const char * port_name) = 0;
00378
00379 static void disconnect_skel (
00380 TAO_ServerRequest & server_request,
00381 void * servant_upcall,
00382 void * servant
00383 );
00384
00385
00386
00387
00388 virtual ::CORBA::Boolean connectDataPort (
00389 const char * port_name,
00390 ::RTT::Corba::AssignableExpression_ptr data) = 0;
00391
00392 static void connectDataPort_skel (
00393 TAO_ServerRequest & server_request,
00394 void * servant_upcall,
00395 void * servant
00396 );
00397
00398
00399
00400
00401 virtual ::CORBA::Boolean connectBufferPort (
00402 const char * port_name,
00403 ::RTT::Corba::BufferChannel_ptr buffer) = 0;
00404
00405 static void connectBufferPort_skel (
00406 TAO_ServerRequest & server_request,
00407 void * servant_upcall,
00408 void * servant
00409 );
00410
00411
00412
00413
00414 virtual ::CORBA::Boolean connectPorts (
00415 const char * local_port,
00416 ::RTT::Corba::DataFlowInterface_ptr remote_ports,
00417 const char * remote_port) = 0;
00418
00419 static void connectPorts_skel (
00420 TAO_ServerRequest & server_request,
00421 void * servant_upcall,
00422 void * servant
00423 );
00424 };
00425
00426
00427
00428
00429 }
00430
00431
00432
00433
00434 }
00435
00436
00437
00438
00439
00440 #if defined (__ACE_INLINE__)
00441 #include "DataFlowS.inl"
00442 #endif
00443
00444 #endif
00445