Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / DiffServPolicy / DiffServ_Protocols_Hooks.h
blob363c7334dbb9eb98933b7fc8a0777884e4b8a54d
1 // -*- C++ -*-
3 // ===================================================================
4 /**
5 * @file DiffServ_Protocols_Hooks.h
7 * @author Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
8 * Johnny Willemsen <jwillemsen@remedy.nl>
9 */
10 // ===================================================================
12 #ifndef TAO_DIFFSERV_PROTOCOLS_HOOKS_H
13 #define TAO_DIFFSERV_PROTOCOLS_HOOKS_H
15 #include /**/ "ace/pre.h"
17 #include "tao/orbconf.h"
19 #include "tao/Network_Priority_Protocols_Hooks.h"
20 #include "ace/Service_Config.h"
21 #include "tao/DiffServPolicy/DiffServPolicy_Export.h"
23 #if !defined (ACE_LACKS_PRAGMA_ONCE)
24 # pragma once
25 #endif /* ACE_LACKS_PRAGMA_ONCE */
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 class TAO_DiffServPolicy_Export TAO_DS_Network_Priority_Protocols_Hooks
30 : public TAO_Network_Priority_Protocols_Hooks
32 public:
33 /// Constructor
34 TAO_DS_Network_Priority_Protocols_Hooks ();
36 /// Destructor
37 virtual ~TAO_DS_Network_Priority_Protocols_Hooks ();
39 /// Initialize the network priority protocols hooks instance.
40 void init_hooks (TAO_ORB_Core *orb_core);
42 /// This function is used by the client side ORB to figure out
43 /// the DiffServ codepoint that needs to be added to the request
44 /// to be sent to the server.
45 ///
46 CORBA::Long get_dscp_codepoint (TAO_Stub *stub, CORBA::Object *object);
48 /// This function is used by the server side to figure out the
49 /// DiffServ codepoint that is attached and sent as part of the
50 /// service context of the request from the client side.
51 /// Specifically, when CLIENT_PROPAGATED networ priority model
52 /// is followed, the clients sent the DiffServ codepoint, they
53 /// want the server to use in the reply, as a service context
54 /// entry in the request.
55 ///
56 CORBA::Long get_dscp_codepoint (TAO_Service_Context &sc);
58 protected:
59 TAO_ORB_Core *orb_core_;
63 ACE_STATIC_SVC_DECLARE_EXPORT (TAO_DiffServPolicy,
64 TAO_DS_Network_Priority_Protocols_Hooks)
65 ACE_FACTORY_DECLARE (TAO_DiffServPolicy,
66 TAO_DS_Network_Priority_Protocols_Hooks)
67 TAO_END_VERSIONED_NAMESPACE_DECL
69 #include /**/ "ace/post.h"
70 #endif /* TAO_DIFFSERV_PROTOCOLS_HOOKS_H */