00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_DEFAULT_PROTOCOLS_HOOKS_H
00014 #define TAO_DEFAULT_PROTOCOLS_HOOKS_H
00015
00016 #include "ace/pre.h"
00017 #include "ace/Service_Config.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "tao/Protocols_Hooks.h"
00024
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026
00027 class TAO_POA;
00028
00029 class TAO_Export TAO_Default_Protocols_Hooks : public TAO_Protocols_Hooks
00030 {
00031 public:
00032
00033
00034 virtual ~TAO_Default_Protocols_Hooks (void);
00035
00036 void init_hooks (TAO_ORB_Core *orb_core
00037 ACE_ENV_ARG_DECL);
00038
00039 CORBA::Boolean set_client_network_priority (IOP::ProfileId protocol_tag,
00040 TAO_Stub *stub
00041 ACE_ENV_ARG_DECL);
00042
00043 CORBA::Boolean set_server_network_priority (IOP::ProfileId protocol_tag,
00044 CORBA::Policy *policy
00045 ACE_ENV_ARG_DECL);
00046
00047 void server_protocol_properties_at_orb_level (TAO_IIOP_Protocol_Properties &protocol_properties
00048 ACE_ENV_ARG_DECL);
00049
00050 void client_protocol_properties_at_orb_level (TAO_IIOP_Protocol_Properties &protocol_properties
00051 ACE_ENV_ARG_DECL);
00052
00053 void server_protocol_properties_at_orb_level (TAO_UIOP_Protocol_Properties &protocol_properties
00054 ACE_ENV_ARG_DECL);
00055
00056 void client_protocol_properties_at_orb_level (TAO_UIOP_Protocol_Properties &protocol_properties
00057 ACE_ENV_ARG_DECL);
00058
00059 void server_protocol_properties_at_orb_level (TAO_SHMIOP_Protocol_Properties &protocol_properties
00060 ACE_ENV_ARG_DECL);
00061
00062 void client_protocol_properties_at_orb_level (TAO_SHMIOP_Protocol_Properties &protocol_properties
00063 ACE_ENV_ARG_DECL);
00064
00065 void server_protocol_properties_at_orb_level (TAO_DIOP_Protocol_Properties &protocol_properties
00066 ACE_ENV_ARG_DECL);
00067
00068 void client_protocol_properties_at_orb_level (TAO_DIOP_Protocol_Properties &protocol_properties
00069 ACE_ENV_ARG_DECL);
00070
00071 void server_protocol_properties_at_orb_level (TAO_SCIOP_Protocol_Properties &protocol_properties
00072 ACE_ENV_ARG_DECL);
00073
00074 void client_protocol_properties_at_orb_level (TAO_SCIOP_Protocol_Properties &protocol_properties
00075 ACE_ENV_ARG_DECL);
00076
00077 CORBA::Long get_dscp_codepoint (void);
00078
00079 void rt_service_context (TAO_Stub *stub,
00080 TAO_Service_Context &service_context,
00081 CORBA::Boolean restart
00082 ACE_ENV_ARG_DECL);
00083
00084 void add_rt_service_context_hook (TAO_Service_Context &service_context,
00085 CORBA::Policy *model_policy,
00086 CORBA::Short &client_priority
00087 ACE_ENV_ARG_DECL);
00088
00089 void get_selector_hook (CORBA::Policy *model_policy,
00090 CORBA::Boolean
00091 &is_client_propagated,
00092 CORBA::Short &server_priority);
00093
00094 void get_selector_bands_policy_hook (CORBA::Policy *bands_policy,
00095 CORBA::Short p,
00096 CORBA::Short &min_priority,
00097 CORBA::Short &max_priority,
00098 int &in_range);
00099
00100 int get_thread_CORBA_priority (CORBA::Short &
00101 ACE_ENV_ARG_DECL);
00102
00103 int get_thread_native_priority (CORBA::Short &
00104 ACE_ENV_ARG_DECL);
00105
00106 int get_thread_CORBA_and_native_priority (CORBA::Short &,
00107 CORBA::Short &
00108 ACE_ENV_ARG_DECL);
00109
00110 int set_thread_CORBA_priority (CORBA::Short
00111 ACE_ENV_ARG_DECL);
00112
00113 int set_thread_native_priority (CORBA::Short
00114 ACE_ENV_ARG_DECL);
00115 };
00116
00117 TAO_END_VERSIONED_NAMESPACE_DECL
00118
00119 ACE_STATIC_SVC_DECLARE_EXPORT (TAO, TAO_Default_Protocols_Hooks)
00120 ACE_FACTORY_DECLARE (TAO, TAO_Default_Protocols_Hooks)
00121
00122 #include "ace/post.h"
00123 #endif