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_DATAFLOWC_H_
00032 #define _TAO_IDL__HOME_KALTAN_SRC_WWW_OROCOS_1_0_EXPORT_BUILD_OROCOS_RTT_1_8_5_BUILD_SRC_CORBA_DATAFLOWC_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/AnyTypeCode/TypeCode.h"
00049 #include "tao/AnyTypeCode/TypeCode_Constants.h"
00050 #include "tao/AnyTypeCode/Any.h"
00051 #include "tao/String_Manager_T.h"
00052 #include "tao/Sequence_T.h"
00053 #include "tao/Objref_VarOut_T.h"
00054 #include "tao/Seq_Var_T.h"
00055 #include "tao/Seq_Out_T.h"
00056 #include "tao/Versioned_Namespace.h"
00057
00058 #include "OperationsC.h"
00059
00060 #if defined (TAO_EXPORT_MACRO)
00061 #undef TAO_EXPORT_MACRO
00062 #endif
00063 #define TAO_EXPORT_MACRO
00064
00065
00066
00067 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00068
00069
00070
00071 namespace TAO
00072 {
00073 class Collocation_Proxy_Broker;
00074 template<typename T> class Narrow_Utils;
00075 }
00076 TAO_END_VERSIONED_NAMESPACE_DECL
00077
00078
00079
00080
00081
00082
00083 namespace RTT
00084 {
00085
00086
00087
00088
00089 namespace Corba
00090 {
00091
00092
00093
00094
00095 #if !defined (_RTT_CORBA_BUFFERCHANNEL__VAR_OUT_CH_)
00096 #define _RTT_CORBA_BUFFERCHANNEL__VAR_OUT_CH_
00097
00098 class BufferChannel;
00099 typedef BufferChannel *BufferChannel_ptr;
00100
00101 typedef
00102 TAO_Objref_Var_T<
00103 BufferChannel
00104 >
00105 BufferChannel_var;
00106
00107 typedef
00108 TAO_Objref_Out_T<
00109 BufferChannel
00110 >
00111 BufferChannel_out;
00112
00113 #endif
00114
00115
00116
00117
00118 #if !defined (_RTT_CORBA_BUFFERCHANNEL_CH_)
00119 #define _RTT_CORBA_BUFFERCHANNEL_CH_
00120
00121 class BufferChannel
00122 : public virtual ::CORBA::Object
00123 {
00124 public:
00125 friend class TAO::Narrow_Utils<BufferChannel>;
00126 typedef BufferChannel_ptr _ptr_type;
00127 typedef BufferChannel_var _var_type;
00128 typedef BufferChannel_out _out_type;
00129
00130
00131 static BufferChannel_ptr _duplicate (BufferChannel_ptr obj);
00132
00133 static void _tao_release (BufferChannel_ptr obj);
00134
00135 static BufferChannel_ptr _narrow (::CORBA::Object_ptr obj);
00136 static BufferChannel_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
00137 static BufferChannel_ptr _nil (void)
00138 {
00139 return static_cast<BufferChannel_ptr> (0);
00140 }
00141
00142 static void _tao_any_destructor (void *);
00143
00144
00145
00146
00147 virtual ::CORBA::Boolean push (
00148 const ::CORBA::Any & value);
00149
00150
00151
00152
00153 virtual ::CORBA::Boolean pull (
00154 ::CORBA::Any_out value);
00155
00156
00157
00158
00159 virtual ::CORBA::Any * front (
00160 void);
00161
00162
00163
00164
00165 virtual ::CORBA::Boolean full (
00166 void);
00167
00168
00169
00170
00171 virtual ::CORBA::Boolean empty (
00172 void);
00173
00174
00175
00176
00177 virtual ::CORBA::Long capacity (
00178 void);
00179
00180
00181
00182
00183 virtual ::CORBA::Long size (
00184 void);
00185
00186
00187
00188
00189 virtual void clear (
00190 void);
00191
00192
00193
00194
00195 virtual ::CORBA::Boolean _is_a (const char *type_id);
00196 virtual const char* _interface_repository_id (void) const;
00197 virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00198 private:
00199 TAO::Collocation_Proxy_Broker *the_TAO_BufferChannel_Proxy_Broker_;
00200
00201 protected:
00202
00203 BufferChannel (void);
00204
00205
00206
00207 virtual void RTT_Corba_BufferChannel_setup_collocation (void);
00208
00209
00210 BufferChannel (
00211 IOP::IOR *ior,
00212 TAO_ORB_Core *orb_core = 0);
00213
00214
00215 BufferChannel (
00216 TAO_Stub *objref,
00217 ::CORBA::Boolean _tao_collocated = false,
00218 TAO_Abstract_ServantBase *servant = 0,
00219 TAO_ORB_Core *orb_core = 0);
00220
00221 virtual ~BufferChannel (void);
00222
00223 private:
00224
00225 BufferChannel (const BufferChannel &);
00226
00227 void operator= (const BufferChannel &);
00228 };
00229
00230 #endif
00231
00232
00233
00234
00235 extern ::CORBA::TypeCode_ptr const _tc_BufferChannel;
00236
00237
00238
00239
00240 #if !defined (_RTT_CORBA_DATAFLOWINTERFACE__VAR_OUT_CH_)
00241 #define _RTT_CORBA_DATAFLOWINTERFACE__VAR_OUT_CH_
00242
00243 class DataFlowInterface;
00244 typedef DataFlowInterface *DataFlowInterface_ptr;
00245
00246 typedef
00247 TAO_Objref_Var_T<
00248 DataFlowInterface
00249 >
00250 DataFlowInterface_var;
00251
00252 typedef
00253 TAO_Objref_Out_T<
00254 DataFlowInterface
00255 >
00256 DataFlowInterface_out;
00257
00258 #endif
00259
00260
00261
00262
00263 #if !defined (_RTT_CORBA_DATAFLOWINTERFACE_CH_)
00264 #define _RTT_CORBA_DATAFLOWINTERFACE_CH_
00265
00266 class DataFlowInterface
00267 : public virtual ::CORBA::Object
00268 {
00269 public:
00270 friend class TAO::Narrow_Utils<DataFlowInterface>;
00271 typedef DataFlowInterface_ptr _ptr_type;
00272 typedef DataFlowInterface_var _var_type;
00273 typedef DataFlowInterface_out _out_type;
00274
00275
00276 static DataFlowInterface_ptr _duplicate (DataFlowInterface_ptr obj);
00277
00278 static void _tao_release (DataFlowInterface_ptr obj);
00279
00280 static DataFlowInterface_ptr _narrow (::CORBA::Object_ptr obj);
00281 static DataFlowInterface_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
00282 static DataFlowInterface_ptr _nil (void)
00283 {
00284 return static_cast<DataFlowInterface_ptr> (0);
00285 }
00286
00287 static void _tao_any_destructor (void *);
00288
00289
00290
00291
00292 #if !defined (_RTT_CORBA_DATAFLOWINTERFACE_PORTNAMES_CH_)
00293 #define _RTT_CORBA_DATAFLOWINTERFACE_PORTNAMES_CH_
00294
00295 class PortNames;
00296
00297 typedef
00298 TAO_VarSeq_Var_T<
00299 PortNames
00300 >
00301 PortNames_var;
00302
00303 typedef
00304 TAO_Seq_Out_T<
00305 PortNames
00306 >
00307 PortNames_out;
00308
00309 class PortNames
00310 : public
00311 TAO::unbounded_basic_string_sequence<char>
00312 {
00313 public:
00314 PortNames (void);
00315 PortNames ( ::CORBA::ULong max);
00316 PortNames (
00317 ::CORBA::ULong max,
00318 ::CORBA::ULong length,
00319 ::CORBA::Char ** buffer,
00320 ::CORBA::Boolean release = false
00321 );
00322 PortNames (const PortNames &);
00323 virtual ~PortNames (void);
00324
00325 static void _tao_any_destructor (void *);
00326
00327 typedef PortNames_var _var_type;
00328 typedef PortNames_out _out_type;
00329
00330
00331 };
00332
00333 #endif
00334
00335
00336
00337
00338 static ::CORBA::TypeCode_ptr const _tc_PortNames;
00339
00340
00341
00342
00343 enum PortType
00344 {
00345 ReadPort,
00346 WritePort,
00347 ReadWritePort
00348 };
00349
00350 typedef PortType &PortType_out;
00351
00352
00353
00354
00355 static ::CORBA::TypeCode_ptr const _tc_PortType;
00356
00357
00358
00359
00360 enum ConnectionModel
00361 {
00362 Buffered,
00363 Data
00364 };
00365
00366 typedef ConnectionModel &ConnectionModel_out;
00367
00368
00369
00370
00371 static ::CORBA::TypeCode_ptr const _tc_ConnectionModel;
00372
00373
00374
00375
00376 virtual ::RTT::Corba::DataFlowInterface::PortNames * getPorts (
00377 void);
00378
00379
00380
00381
00382 virtual ::RTT::Corba::AssignableExpression_ptr createDataChannel (
00383 const char * port_name);
00384
00385
00386
00387
00388 virtual ::RTT::Corba::BufferChannel_ptr createBufferChannel (
00389 const char * port_name);
00390
00391
00392
00393
00394 virtual ::RTT::Corba::Expression_ptr createDataObject (
00395 const char * port_name);
00396
00397
00398
00399
00400 virtual ::RTT::Corba::DataFlowInterface::ConnectionModel getConnectionModel (
00401 const char * port_name);
00402
00403
00404
00405
00406 virtual ::RTT::Corba::DataFlowInterface::PortType getPortType (
00407 const char * port_name);
00408
00409
00410
00411
00412 virtual char * getDataType (
00413 const char * port_name);
00414
00415
00416
00417
00418 virtual ::CORBA::Boolean isConnected (
00419 const char * port_name);
00420
00421
00422
00423
00424 virtual void disconnect (
00425 const char * port_name);
00426
00427
00428
00429
00430 virtual ::CORBA::Boolean connectDataPort (
00431 const char * port_name,
00432 ::RTT::Corba::AssignableExpression_ptr data);
00433
00434
00435
00436
00437 virtual ::CORBA::Boolean connectBufferPort (
00438 const char * port_name,
00439 ::RTT::Corba::BufferChannel_ptr buffer);
00440
00441
00442
00443
00444 virtual ::CORBA::Boolean connectPorts (
00445 const char * local_port,
00446 ::RTT::Corba::DataFlowInterface_ptr remote_ports,
00447 const char * remote_port);
00448
00449
00450
00451
00452 virtual ::CORBA::Boolean _is_a (const char *type_id);
00453 virtual const char* _interface_repository_id (void) const;
00454 virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00455 private:
00456 TAO::Collocation_Proxy_Broker *the_TAO_DataFlowInterface_Proxy_Broker_;
00457
00458 protected:
00459
00460 DataFlowInterface (void);
00461
00462
00463
00464 virtual void RTT_Corba_DataFlowInterface_setup_collocation (void);
00465
00466
00467 DataFlowInterface (
00468 IOP::IOR *ior,
00469 TAO_ORB_Core *orb_core = 0);
00470
00471
00472 DataFlowInterface (
00473 TAO_Stub *objref,
00474 ::CORBA::Boolean _tao_collocated = false,
00475 TAO_Abstract_ServantBase *servant = 0,
00476 TAO_ORB_Core *orb_core = 0);
00477
00478 virtual ~DataFlowInterface (void);
00479
00480 private:
00481
00482 DataFlowInterface (const DataFlowInterface &);
00483
00484 void operator= (const DataFlowInterface &);
00485 };
00486
00487 #endif
00488
00489
00490
00491
00492 extern ::CORBA::TypeCode_ptr const _tc_DataFlowInterface;
00493
00494
00495
00496
00497 }
00498
00499
00500
00501
00502 }
00503
00504
00505
00506
00507
00508
00509 extern
00510 TAO::Collocation_Proxy_Broker *
00511 (*RTT_Corba__TAO_BufferChannel_Proxy_Broker_Factory_function_pointer) (
00512 ::CORBA::Object_ptr obj
00513 );
00514
00515 extern
00516 TAO::Collocation_Proxy_Broker *
00517 (*RTT_Corba__TAO_DataFlowInterface_Proxy_Broker_Factory_function_pointer) (
00518 ::CORBA::Object_ptr obj
00519 );
00520
00521
00522
00523
00524 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00525
00526
00527 namespace TAO
00528 {
00529
00530 #if !defined (_RTT_CORBA_BUFFERCHANNEL__TRAITS_)
00531 #define _RTT_CORBA_BUFFERCHANNEL__TRAITS_
00532
00533 template<>
00534 struct Objref_Traits< ::RTT::Corba::BufferChannel>
00535 {
00536 static ::RTT::Corba::BufferChannel_ptr duplicate (
00537 ::RTT::Corba::BufferChannel_ptr p
00538 );
00539 static void release (
00540 ::RTT::Corba::BufferChannel_ptr p
00541 );
00542 static ::RTT::Corba::BufferChannel_ptr nil (void);
00543 static ::CORBA::Boolean marshal (
00544 const ::RTT::Corba::BufferChannel_ptr p,
00545 TAO_OutputCDR & cdr
00546 );
00547 };
00548
00549 #endif
00550
00551 #if !defined (_RTT_CORBA_DATAFLOWINTERFACE__TRAITS_)
00552 #define _RTT_CORBA_DATAFLOWINTERFACE__TRAITS_
00553
00554 template<>
00555 struct Objref_Traits< ::RTT::Corba::DataFlowInterface>
00556 {
00557 static ::RTT::Corba::DataFlowInterface_ptr duplicate (
00558 ::RTT::Corba::DataFlowInterface_ptr p
00559 );
00560 static void release (
00561 ::RTT::Corba::DataFlowInterface_ptr p
00562 );
00563 static ::RTT::Corba::DataFlowInterface_ptr nil (void);
00564 static ::CORBA::Boolean marshal (
00565 const ::RTT::Corba::DataFlowInterface_ptr p,
00566 TAO_OutputCDR & cdr
00567 );
00568 };
00569
00570 #endif
00571 }
00572 TAO_END_VERSIONED_NAMESPACE_DECL
00573
00574
00575
00576
00577
00578
00579
00580
00581 #if defined (ACE_ANY_OPS_USE_NAMESPACE)
00582
00583 namespace RTT
00584 {
00585
00586 namespace Corba
00587 {
00588 void operator<<= ( ::CORBA::Any &, BufferChannel_ptr);
00589 void operator<<= ( ::CORBA::Any &, BufferChannel_ptr *);
00590 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, BufferChannel_ptr &);
00591 }
00592 }
00593
00594 #else
00595
00596
00597 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00598
00599 void operator<<= (::CORBA::Any &, RTT::Corba::BufferChannel_ptr);
00600 void operator<<= (::CORBA::Any &, RTT::Corba::BufferChannel_ptr *);
00601 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, RTT::Corba::BufferChannel_ptr &);
00602 TAO_END_VERSIONED_NAMESPACE_DECL
00603
00604
00605
00606 #endif
00607
00608
00609
00610
00611
00612
00613 #if defined (ACE_ANY_OPS_USE_NAMESPACE)
00614
00615 namespace RTT
00616 {
00617
00618 namespace Corba
00619 {
00620 void operator<<= ( ::CORBA::Any &, DataFlowInterface_ptr);
00621 void operator<<= ( ::CORBA::Any &, DataFlowInterface_ptr *);
00622 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, DataFlowInterface_ptr &);
00623 }
00624 }
00625
00626 #else
00627
00628
00629 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00630
00631 void operator<<= (::CORBA::Any &, RTT::Corba::DataFlowInterface_ptr);
00632 void operator<<= (::CORBA::Any &, RTT::Corba::DataFlowInterface_ptr *);
00633 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, RTT::Corba::DataFlowInterface_ptr &);
00634 TAO_END_VERSIONED_NAMESPACE_DECL
00635
00636
00637
00638 #endif
00639
00640
00641
00642
00643
00644 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00645
00646 void operator<<= ( ::CORBA::Any &, const RTT::Corba::DataFlowInterface::PortNames &);
00647 void operator<<= ( ::CORBA::Any &, RTT::Corba::DataFlowInterface::PortNames*);
00648 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, RTT::Corba::DataFlowInterface::PortNames *&);
00649 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const RTT::Corba::DataFlowInterface::PortNames *&);
00650 TAO_END_VERSIONED_NAMESPACE_DECL
00651
00652
00653
00654
00655
00656 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00657
00658
00659
00660 void operator<<= (::CORBA::Any &, RTT::Corba::DataFlowInterface::PortType);
00661 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, RTT::Corba::DataFlowInterface::PortType &);
00662 TAO_END_VERSIONED_NAMESPACE_DECL
00663
00664
00665
00666
00667
00668 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00669
00670
00671
00672 void operator<<= (::CORBA::Any &, RTT::Corba::DataFlowInterface::ConnectionModel);
00673 ::CORBA::Boolean operator>>= (const ::CORBA::Any &, RTT::Corba::DataFlowInterface::ConnectionModel &);
00674 TAO_END_VERSIONED_NAMESPACE_DECL
00675
00676
00677
00678
00679
00680
00681 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00682
00683 ::CORBA::Boolean operator<< (TAO_OutputCDR &, const RTT::Corba::BufferChannel_ptr );
00684 ::CORBA::Boolean operator>> (TAO_InputCDR &, RTT::Corba::BufferChannel_ptr &);
00685
00686 TAO_END_VERSIONED_NAMESPACE_DECL
00687
00688
00689
00690
00691
00692
00693 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00694
00695 ::CORBA::Boolean operator<< (TAO_OutputCDR &, const RTT::Corba::DataFlowInterface_ptr );
00696 ::CORBA::Boolean operator>> (TAO_InputCDR &, RTT::Corba::DataFlowInterface_ptr &);
00697
00698 TAO_END_VERSIONED_NAMESPACE_DECL
00699
00700
00701
00702
00703
00704
00705 #if !defined _TAO_CDR_OP_RTT_Corba_DataFlowInterface_PortNames_H_
00706 #define _TAO_CDR_OP_RTT_Corba_DataFlowInterface_PortNames_H_
00707 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00708
00709
00710
00711 ::CORBA::Boolean operator<< (
00712 TAO_OutputCDR &strm,
00713 const RTT::Corba::DataFlowInterface::PortNames &_tao_sequence
00714 );
00715 ::CORBA::Boolean operator>> (
00716 TAO_InputCDR &strm,
00717 RTT::Corba::DataFlowInterface::PortNames &_tao_sequence
00718 );
00719 TAO_END_VERSIONED_NAMESPACE_DECL
00720
00721
00722
00723 #endif
00724
00725
00726
00727
00728
00729 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00730
00731 ::CORBA::Boolean operator<< (TAO_OutputCDR &strm, RTT::Corba::DataFlowInterface::PortType _tao_enumerator);
00732 ::CORBA::Boolean operator>> (TAO_InputCDR &strm, RTT::Corba::DataFlowInterface::PortType &_tao_enumerator);
00733
00734 TAO_END_VERSIONED_NAMESPACE_DECL
00735
00736
00737
00738
00739
00740
00741
00742 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00743
00744 ::CORBA::Boolean operator<< (TAO_OutputCDR &strm, RTT::Corba::DataFlowInterface::ConnectionModel _tao_enumerator);
00745 ::CORBA::Boolean operator>> (TAO_InputCDR &strm, RTT::Corba::DataFlowInterface::ConnectionModel &_tao_enumerator);
00746
00747 TAO_END_VERSIONED_NAMESPACE_DECL
00748
00749
00750
00751
00752
00753 #if defined (__ACE_INLINE__)
00754 #include "DataFlowC.inl"
00755 #endif
00756
00757 #endif
00758
00759