Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_RT_POLICY_I_H
00014 #define TAO_RT_POLICY_I_H
00015
00016 #include "ace/pre.h"
00017
00018 #include "tao/orbconf.h"
00019
00020 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
00021
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif
00025
00026 #include "tao/RTCORBA/RTCORBA_includeC.h"
00027 #include "tao/LocalObject.h"
00028 #include "tao/Basic_Types.h"
00029
00030 #include "ace/SString.h"
00031
00032 #if defined(_MSC_VER)
00033 #pragma warning(push)
00034 #pragma warning(disable:4250)
00035 #endif
00036
00037
00038 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 class TAO_RTCORBA_Export TAO_PriorityModelPolicy
00049 : public RTCORBA::PriorityModelPolicy,
00050 public ::CORBA::LocalObject
00051 {
00052 public:
00053
00054 TAO_PriorityModelPolicy (RTCORBA::PriorityModel priority_model,
00055 RTCORBA::Priority server_priority);
00056
00057
00058 TAO_PriorityModelPolicy (const TAO_PriorityModelPolicy &rhs);
00059
00060
00061
00062
00063
00064
00065
00066 RTCORBA::PriorityModel get_priority_model (void);
00067
00068 RTCORBA::PriorityModel priority_model (void);
00069
00070 RTCORBA::Priority server_priority (void);
00071
00072 CORBA::PolicyType policy_type (void);
00073
00074 CORBA::Policy_ptr copy (void);
00075
00076 void destroy (void);
00077
00078
00079 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00080
00081
00082 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00083
00084
00085 TAO_Cached_Policy_Type _tao_cached_type (void) const;
00086
00087
00088 TAO_Policy_Scope _tao_scope (void) const;
00089
00090
00091
00092 static CORBA::Policy_ptr create (const CORBA::Any &val);
00093
00094 protected:
00095
00096
00097
00098 virtual ~TAO_PriorityModelPolicy (void);
00099
00100
00101
00102 friend class TAO_RT_PolicyFactory;
00103 TAO_PriorityModelPolicy (void);
00104
00105 private:
00106
00107
00108 RTCORBA::PriorityModel priority_model_;
00109 RTCORBA::Priority server_priority_;
00110 };
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121 class TAO_RTCORBA_Export TAO_ThreadpoolPolicy
00122 : public RTCORBA::ThreadpoolPolicy,
00123 public ::CORBA::LocalObject
00124 {
00125 public:
00126
00127 TAO_ThreadpoolPolicy (RTCORBA::ThreadpoolId id);
00128
00129
00130 TAO_ThreadpoolPolicy (const TAO_ThreadpoolPolicy &rhs);
00131
00132 RTCORBA::ThreadpoolId threadpool (void);
00133
00134 CORBA::PolicyType policy_type (void);
00135
00136 CORBA::Policy_ptr copy (void);
00137
00138 void destroy (void);
00139
00140
00141 TAO_Cached_Policy_Type _tao_cached_type (void) const;
00142
00143
00144 TAO_Policy_Scope _tao_scope (void) const;
00145
00146
00147
00148 static CORBA::Policy_ptr create (const CORBA::Any &val);
00149
00150 protected:
00151
00152
00153
00154 virtual ~TAO_ThreadpoolPolicy (void);
00155
00156 private:
00157
00158
00159 RTCORBA::ThreadpoolId id_;
00160 };
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173 class TAO_RTCORBA_Export TAO_PrivateConnectionPolicy
00174 : public RTCORBA::PrivateConnectionPolicy,
00175 public ::CORBA::LocalObject
00176 {
00177 public:
00178
00179 TAO_PrivateConnectionPolicy (void);
00180
00181
00182 TAO_PrivateConnectionPolicy (const TAO_PrivateConnectionPolicy &rhs);
00183
00184 CORBA::PolicyType policy_type (void);
00185
00186 CORBA::Policy_ptr copy (void);
00187
00188 void destroy (void);
00189
00190
00191 TAO_Cached_Policy_Type _tao_cached_type (void) const;
00192
00193
00194 TAO_Policy_Scope _tao_scope (void) const;
00195
00196
00197
00198 static CORBA::Policy_ptr create (const CORBA::Any &val);
00199
00200 protected:
00201
00202
00203
00204 virtual ~TAO_PrivateConnectionPolicy (void);
00205
00206 };
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221 class TAO_RTCORBA_Export TAO_PriorityBandedConnectionPolicy
00222 : public RTCORBA::PriorityBandedConnectionPolicy,
00223 public ::CORBA::LocalObject
00224 {
00225 public:
00226
00227 TAO_PriorityBandedConnectionPolicy (const RTCORBA::PriorityBands &bands);
00228
00229
00230 TAO_PriorityBandedConnectionPolicy (const TAO_PriorityBandedConnectionPolicy &rhs);
00231
00232
00233
00234
00235
00236
00237 RTCORBA::PriorityBands &priority_bands_rep (void);
00238
00239 RTCORBA::PriorityBands *priority_bands (void);
00240
00241 CORBA::PolicyType policy_type (void);
00242
00243 CORBA::Policy_ptr copy (void);
00244
00245 void destroy (void);
00246
00247
00248 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00249
00250
00251 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00252
00253
00254 TAO_Cached_Policy_Type _tao_cached_type (void) const;
00255
00256
00257 TAO_Policy_Scope _tao_scope (void) const;
00258
00259
00260
00261 static CORBA::Policy_ptr create (const CORBA::Any &val);
00262
00263 protected:
00264
00265
00266
00267 virtual ~TAO_PriorityBandedConnectionPolicy (void);
00268
00269
00270
00271 friend class TAO_RT_PolicyFactory;
00272 TAO_PriorityBandedConnectionPolicy (void);
00273
00274 private:
00275
00276
00277 RTCORBA::PriorityBands priority_bands_;
00278 };
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290 class TAO_RTCORBA_Export TAO_ServerProtocolPolicy
00291 : public RTCORBA::ServerProtocolPolicy,
00292 public ::CORBA::LocalObject
00293 {
00294 public:
00295
00296 TAO_ServerProtocolPolicy (const RTCORBA::ProtocolList &protocols);
00297
00298
00299 TAO_ServerProtocolPolicy (const TAO_ServerProtocolPolicy &rhs);
00300
00301
00302
00303
00304
00305
00306 RTCORBA::ProtocolList & protocols_rep (void);
00307
00308 RTCORBA::ProtocolList *protocols (void);
00309
00310 CORBA::PolicyType policy_type (void);
00311
00312 CORBA::Policy_ptr copy (void);
00313
00314 void destroy (void);
00315
00316
00317 TAO_Cached_Policy_Type _tao_cached_type (void) const;
00318
00319
00320 TAO_Policy_Scope _tao_scope (void) const;
00321
00322
00323
00324 static CORBA::Policy_ptr create (const CORBA::Any &val);
00325
00326 protected:
00327
00328
00329
00330 virtual ~TAO_ServerProtocolPolicy (void);
00331
00332 private:
00333
00334
00335 RTCORBA::ProtocolList protocols_;
00336 };
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348 class TAO_RTCORBA_Export TAO_ClientProtocolPolicy
00349 : public RTCORBA::ClientProtocolPolicy,
00350 public ::CORBA::LocalObject
00351 {
00352 public:
00353
00354 TAO_ClientProtocolPolicy (const RTCORBA::ProtocolList &protocols);
00355
00356
00357 TAO_ClientProtocolPolicy (const TAO_ClientProtocolPolicy &rhs);
00358
00359
00360
00361
00362
00363
00364 RTCORBA::ProtocolList & protocols_rep (void);
00365
00366 RTCORBA::ProtocolList *protocols (void);
00367
00368 CORBA::PolicyType policy_type (void);
00369
00370 CORBA::Policy_ptr copy (void);
00371
00372 void destroy (void);
00373
00374
00375
00376
00377 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00378
00379
00380 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00381
00382
00383 TAO_Cached_Policy_Type _tao_cached_type (void) const;
00384
00385
00386 TAO_Policy_Scope _tao_scope (void) const;
00387
00388
00389
00390 static CORBA::Policy_ptr create (const CORBA::Any &val);
00391
00392 protected:
00393
00394
00395
00396 virtual ~TAO_ClientProtocolPolicy (void);
00397
00398
00399
00400 friend class TAO_RT_PolicyFactory;
00401 TAO_ClientProtocolPolicy (void);
00402
00403 private:
00404
00405
00406 RTCORBA::ProtocolList protocols_;
00407 };
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418 class TAO_RTCORBA_Export TAO_TCP_Protocol_Properties
00419 : public RTCORBA::TCPProtocolProperties,
00420 public ::CORBA::LocalObject
00421 {
00422 public:
00423
00424 TAO_TCP_Protocol_Properties (CORBA::Long send_buffer_size,
00425 CORBA::Long recv_buffer_size,
00426 CORBA::Boolean keep_alive,
00427 CORBA::Boolean dont_route,
00428 CORBA::Boolean no_delay,
00429 CORBA::Boolean enable_network_priority);
00430
00431 CORBA::Long send_buffer_size (void);
00432
00433 void send_buffer_size (CORBA::Long send_buffer_size);
00434
00435 CORBA::Long recv_buffer_size (void);
00436
00437 void recv_buffer_size (CORBA::Long recv_buffer_size);
00438
00439 CORBA::Boolean keep_alive (void);
00440
00441 void keep_alive (CORBA::Boolean keep_alive);
00442
00443 CORBA::Boolean dont_route (void);
00444
00445 void dont_route (CORBA::Boolean dont_route);
00446
00447 CORBA::Boolean no_delay (void);
00448
00449 void no_delay (CORBA::Boolean no_delay);
00450
00451 CORBA::Boolean enable_network_priority (void);
00452
00453 void enable_network_priority (CORBA::Boolean enable);
00454
00455
00456 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00457
00458
00459 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00460
00461 protected:
00462
00463
00464
00465 virtual ~TAO_TCP_Protocol_Properties (void);
00466
00467 private:
00468
00469
00470 CORBA::Long send_buffer_size_;
00471 CORBA::Long recv_buffer_size_;
00472 CORBA::Boolean keep_alive_;
00473 CORBA::Boolean dont_route_;
00474 CORBA::Boolean no_delay_;
00475 CORBA::Boolean enable_network_priority_;
00476 };
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488 class TAO_RTCORBA_Export TAO_UnixDomain_Protocol_Properties
00489 : public RTCORBA::UnixDomainProtocolProperties,
00490 public ::CORBA::LocalObject
00491 {
00492 public:
00493
00494
00495 TAO_UnixDomain_Protocol_Properties (CORBA::Long send_buffer_size,
00496 CORBA::Long recv_buffer_size);
00497
00498 CORBA::Long send_buffer_size (void);
00499
00500 void send_buffer_size (CORBA::Long send_buffer_size);
00501
00502 CORBA::Long recv_buffer_size (void);
00503
00504 void recv_buffer_size (CORBA::Long recv_buffer_size);
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00515
00516
00517
00518
00519
00520
00521
00522
00523 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00524
00525 protected:
00526
00527
00528
00529 virtual ~TAO_UnixDomain_Protocol_Properties (void);
00530
00531 private:
00532
00533
00534 CORBA::Long send_buffer_size_;
00535 CORBA::Long recv_buffer_size_;
00536 };
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548 class TAO_RTCORBA_Export TAO_SharedMemory_Protocol_Properties
00549 : public RTCORBA::SharedMemoryProtocolProperties,
00550 public ::CORBA::LocalObject
00551 {
00552 public:
00553
00554 TAO_SharedMemory_Protocol_Properties (CORBA::Long send_buffer_size,
00555 CORBA::Long recv_buffer_size,
00556 CORBA::Boolean keep_alive,
00557 CORBA::Boolean dont_route,
00558 CORBA::Boolean no_delay,
00559 CORBA::Long preallocate_buffer_size,
00560 const char *mmap_filename,
00561 const char *mmap_lockname);
00562
00563
00564
00565 CORBA::Long send_buffer_size (void);
00566
00567 void send_buffer_size (CORBA::Long send_buffer_size);
00568
00569 CORBA::Long recv_buffer_size (void);
00570
00571 void recv_buffer_size (CORBA::Long recv_buffer_size);
00572
00573 CORBA::Boolean keep_alive (void);
00574
00575 void keep_alive (CORBA::Boolean keep_alive);
00576
00577 CORBA::Boolean dont_route (void);
00578
00579 void dont_route (CORBA::Boolean dont_route);
00580
00581 CORBA::Boolean no_delay (void);
00582
00583 void no_delay (CORBA::Boolean no_delay);
00584
00585 CORBA::Boolean enable_network_priority (void);
00586
00587 CORBA::Long preallocate_buffer_size (void);
00588
00589 void preallocate_buffer_size (CORBA::Long preallocate_buffer_size);
00590
00591 char *mmap_filename (void);
00592
00593 void mmap_filename (const char *mmap_filename);
00594
00595 char *mmap_lockname (void);
00596
00597 void mmap_lockname (const char *mmap_lockname);
00598
00599
00600
00601
00602
00603
00604
00605
00606 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00607
00608
00609
00610
00611
00612
00613
00614
00615 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00616
00617 protected:
00618
00619
00620
00621 virtual ~TAO_SharedMemory_Protocol_Properties (void);
00622
00623 private:
00624
00625
00626 CORBA::Long send_buffer_size_;
00627 CORBA::Long recv_buffer_size_;
00628 CORBA::Boolean keep_alive_;
00629 CORBA::Boolean dont_route_;
00630 CORBA::Boolean no_delay_;
00631 CORBA::Long preallocate_buffer_size_;
00632 ACE_CString mmap_filename_;
00633 ACE_CString mmap_lockname_;
00634 };
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645 class TAO_RTCORBA_Export TAO_UserDatagram_Protocol_Properties
00646 : public RTCORBA::UserDatagramProtocolProperties,
00647 public ::CORBA::LocalObject
00648 {
00649 public:
00650
00651 TAO_UserDatagram_Protocol_Properties (CORBA::Long send_buffer_size,
00652 CORBA::Long recv_buffer_size,
00653 CORBA::Boolean enable_network_priority);
00654
00655 CORBA::Boolean enable_network_priority (void);
00656
00657 void enable_network_priority (CORBA::Boolean enable);
00658
00659 CORBA::Long send_buffer_size (void);
00660
00661 void send_buffer_size (CORBA::Long send_buffer_size);
00662
00663 CORBA::Long recv_buffer_size (void);
00664
00665 void recv_buffer_size (CORBA::Long recv_buffer_size);
00666
00667
00668 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00669
00670
00671 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00672
00673 protected:
00674
00675
00676
00677 virtual ~TAO_UserDatagram_Protocol_Properties (void);
00678
00679 private:
00680
00681 CORBA::Long send_buffer_size_;
00682 CORBA::Long recv_buffer_size_;
00683
00684 CORBA::Boolean enable_network_priority_;
00685 };
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696 class TAO_RTCORBA_Export TAO_StreamControl_Protocol_Properties
00697 : public RTCORBA::StreamControlProtocolProperties,
00698 public ::CORBA::LocalObject
00699 {
00700 public:
00701
00702 TAO_StreamControl_Protocol_Properties (CORBA::Long send_buffer_size,
00703 CORBA::Long recv_buffer_size,
00704 CORBA::Boolean keep_alive,
00705 CORBA::Boolean dont_route,
00706 CORBA::Boolean no_delay,
00707 CORBA::Boolean enable_network_priority);
00708
00709 CORBA::Long send_buffer_size (void);
00710
00711 void send_buffer_size (CORBA::Long send_buffer_size);
00712
00713 CORBA::Long recv_buffer_size (void);
00714
00715 void recv_buffer_size (CORBA::Long recv_buffer_size);
00716
00717 CORBA::Boolean keep_alive (void);
00718
00719 void keep_alive (CORBA::Boolean keep_alive);
00720
00721 CORBA::Boolean dont_route (void);
00722
00723 void dont_route (CORBA::Boolean dont_route);
00724
00725 CORBA::Boolean no_delay (void);
00726
00727 void no_delay (CORBA::Boolean no_delay);
00728
00729 CORBA::Boolean enable_network_priority (void);
00730
00731 void enable_network_priority (CORBA::Boolean enable);
00732
00733
00734 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00735
00736
00737 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00738
00739 protected:
00740
00741
00742
00743 virtual ~TAO_StreamControl_Protocol_Properties (void);
00744
00745 private:
00746
00747
00748 CORBA::Long send_buffer_size_;
00749 CORBA::Long recv_buffer_size_;
00750 CORBA::Boolean keep_alive_;
00751 CORBA::Boolean dont_route_;
00752 CORBA::Boolean no_delay_;
00753 CORBA::Boolean enable_network_priority_;
00754 };
00755
00756
00757
00758 class TAO_RTCORBA_Export TAO_GIOP_Protocol_Properties
00759 : public RTCORBA::GIOPProtocolProperties,
00760 public ::CORBA::LocalObject
00761 {
00762 public:
00763
00764
00765 CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr);
00766 CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr);
00767
00768 protected:
00769
00770
00771
00772 virtual ~TAO_GIOP_Protocol_Properties ();
00773
00774 friend class TAO_Protocol_Properties_Factory;
00775 TAO_GIOP_Protocol_Properties (void);
00776 };
00777
00778
00779
00780 class TAO_RTCORBA_Export TAO_Protocol_Properties_Factory
00781 {
00782 public:
00783
00784
00785
00786
00787
00788
00789
00790
00791 static RTCORBA::ProtocolProperties *create_transport_protocol_property (
00792 IOP::ProfileId id,
00793 TAO_ORB_Core *orb_core);
00794
00795
00796
00797
00798
00799
00800
00801
00802 static RTCORBA::ProtocolProperties *create_orb_protocol_property (IOP::ProfileId id);
00803
00804 private:
00805
00806 TAO_Protocol_Properties_Factory (void);
00807 };
00808
00809 TAO_END_VERSIONED_NAMESPACE_DECL
00810
00811 #if defined(_MSC_VER)
00812 #pragma warning(pop)
00813 #endif
00814
00815 #endif
00816
00817 #include "ace/post.h"
00818
00819 #endif