Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / tests / Bug_3748_Regression / Test_Protocols_Hooks.h
blobe2adfb45ba328b02b70235bd46d4710bdc128fe4
1 // -*- C++ -*-
3 #ifndef TEST_PROTOCOLS_HOOKS_H
4 #define TEST_PROTOCOLS_HOOKS_H
6 #include /**/ "ace/pre.h"
8 #include "tao/Protocols_Hooks.h"
10 #include "ace/Service_Config.h"
12 #if !defined (ACE_LACKS_PRAGMA_ONCE)
13 # pragma once
14 #endif /* ACE_LACKS_PRAGMA_ONCE */
16 class Test_Protocols_Hooks : public TAO_Protocols_Hooks
18 public:
19 /// Constructor
20 Test_Protocols_Hooks (void);
22 /// Destructor
23 virtual ~Test_Protocols_Hooks (void);
25 /// Initialize the protocols hooks instance.
26 void init_hooks (TAO_ORB_Core *orb_core);
28 CORBA::Boolean set_client_network_priority (IOP::ProfileId protocol_tag,
29 TAO_Stub *stub);
31 CORBA::Boolean set_server_network_priority (IOP::ProfileId protocol_tag,
32 CORBA::Policy *policy);
34 void server_protocol_properties_at_orb_level (
35 TAO_IIOP_Protocol_Properties &protocol_properties);
37 void client_protocol_properties_at_orb_level (
38 TAO_IIOP_Protocol_Properties &protocol_properties);
40 void server_protocol_properties_at_orb_level (
41 TAO_UIOP_Protocol_Properties &protocol_properties);
43 void client_protocol_properties_at_orb_level (
44 TAO_UIOP_Protocol_Properties &protocol_properties);
46 void server_protocol_properties_at_orb_level (
47 TAO_SHMIOP_Protocol_Properties &protocol_properties);
49 void client_protocol_properties_at_orb_level (
50 TAO_SHMIOP_Protocol_Properties &protocol_properties);
52 void server_protocol_properties_at_orb_level (
53 TAO_DIOP_Protocol_Properties &protocol_properties);
55 void client_protocol_properties_at_orb_level (
56 TAO_DIOP_Protocol_Properties &protocol_properties);
58 void server_protocol_properties_at_orb_level (
59 TAO_SCIOP_Protocol_Properties &protocol_properties);
61 void client_protocol_properties_at_orb_level (
62 TAO_SCIOP_Protocol_Properties &protocol_properties);
64 CORBA::Long get_dscp_codepoint (void);
66 void get_selector_hook (CORBA::Policy *model_policy,
67 CORBA::Boolean
68 &is_client_propagated,
69 CORBA::Short &server_priority);
71 void get_selector_bands_policy_hook (CORBA::Policy *bands_policy,
72 CORBA::Short priority,
73 CORBA::Short &min_priority,
74 CORBA::Short &max_priority,
75 bool &in_range);
77 /**
78 * Accessor and modifier to the current thread priority, used to
79 * implement the RTCORBA::Current interface, but it is faster for
80 * some critical components.
82 //@{
83 int get_thread_CORBA_priority (CORBA::Short &priority);
85 int get_thread_native_priority (CORBA::Short &);
87 int get_thread_CORBA_and_native_priority (CORBA::Short &, CORBA::Short &);
89 int get_thread_implicit_CORBA_priority (CORBA::Short&);
91 int set_thread_CORBA_priority (CORBA::Short);
93 int restore_thread_CORBA_and_native_priority (CORBA::Short,
94 CORBA::Short);
96 //@}
98 private:
99 CORBA::ULong failure_count_;
102 ACE_STATIC_SVC_DECLARE_EXPORT (ACE_Local_Service, Test_Protocols_Hooks)
103 ACE_FACTORY_DECLARE (ACE_Local_Service, Test_Protocols_Hooks)
105 #include /**/ "ace/post.h"
106 #endif /* TAO_RT_PROTOCOLS_HOOKS_H */