Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TAO_RT_ORB_INITIALIZER_H
00015 #define TAO_RT_ORB_INITIALIZER_H
00016
00017 #include "ace/pre.h"
00018
00019 #include "tao/orbconf.h"
00020
00021 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
00022
00023 #include "tao/RTCORBA/rtcorba_export.h"
00024
00025 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00026 # pragma once
00027 #endif
00028
00029 #include "tao/PI/PI.h"
00030 #include "tao/LocalObject.h"
00031
00032
00033
00034 #if defined(_MSC_VER)
00035 #pragma warning(push)
00036 #pragma warning(disable:4250)
00037 #endif
00038
00039 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00040
00041
00042 class TAO_RT_ORBInitializer
00043 : public virtual PortableInterceptor::ORBInitializer
00044 , public virtual ::CORBA::LocalObject
00045 {
00046 public:
00047
00048 enum
00049 {
00050 TAO_PRIORITY_MAPPING_CONTINUOUS,
00051 TAO_PRIORITY_MAPPING_LINEAR,
00052 TAO_PRIORITY_MAPPING_DIRECT
00053 };
00054
00055 enum
00056 {
00057 TAO_NETWORK_PRIORITY_MAPPING_LINEAR
00058 };
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 enum TAO_RTCORBA_DT_LifeSpan
00070 {
00071 TAO_RTCORBA_DT_INFINITIVE,
00072 TAO_RTCORBA_DT_IDLE,
00073 TAO_RTCORBA_DT_FIXED
00074 };
00075
00076 TAO_RT_ORBInitializer (int priority_mapping_type,
00077 int network_priority_mapping_type,
00078 int ace_sched_policy,
00079 long sched_policy,
00080 long scope_policy,
00081 TAO_RT_ORBInitializer::TAO_RTCORBA_DT_LifeSpan lifespan,
00082 ACE_Time_Value const &dynamic_thread_time);
00083
00084 virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info);
00085
00086 virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info);
00087
00088 private:
00089
00090
00091 void register_policy_factories (PortableInterceptor::ORBInitInfo_ptr info);
00092
00093 private:
00094
00095
00096
00097
00098
00099 PortableInterceptor::PolicyFactory_var policy_factory_;
00100
00101
00102 int const priority_mapping_type_;
00103
00104
00105 int const network_priority_mapping_type_;
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115 int const ace_sched_policy_;
00116
00117
00118
00119
00120
00121
00122
00123
00124 long const sched_policy_;
00125
00126
00127
00128
00129
00130
00131
00132
00133 long const scope_policy_;
00134
00135
00136 TAO_RT_ORBInitializer::TAO_RTCORBA_DT_LifeSpan lifespan_;
00137
00138
00139
00140
00141
00142
00143
00144 ACE_Time_Value const dynamic_thread_time_;
00145 };
00146
00147 TAO_END_VERSIONED_NAMESPACE_DECL
00148
00149 #if defined(_MSC_VER)
00150 #pragma warning(pop)
00151 #endif
00152
00153 #endif
00154
00155 #include "ace/post.h"
00156
00157 #endif