00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Network_Priority_Hook.h 00006 * 00007 * $Id: Network_Priority_Hook.h 77177 2007-02-16 17:01:50Z jai $ 00008 * 00009 * Provides default network priority hook for use by the POA 00010 * 00011 * @author Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu> 00012 * @author Johnny Willemsen <jwillemsen@remedy.nl> 00013 */ 00014 //============================================================================= 00015 00016 00017 #ifndef TAO_NETWORK_PRIORITY_HOOK_H 00018 #define TAO_NETWORK_PRIORITY_HOOK_H 00019 00020 #include /**/ "ace/pre.h" 00021 00022 #include "portableserver_export.h" 00023 00024 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00025 # pragma once 00026 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00027 00028 #include "tao/Versioned_Namespace.h" 00029 #include "tao/orbconf.h" 00030 #include "ace/Service_Object.h" 00031 #include "ace/Service_Config.h" 00032 #include "tao/Basic_Types.h" 00033 00034 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00035 00036 class TAO_POA_Policy_Set; 00037 class TAO_Root_POA; 00038 class TAO_ServerRequest; 00039 00040 class TAO_PortableServer_Export TAO_Network_Priority_Hook 00041 : public ACE_Service_Object 00042 { 00043 public: 00044 virtual ~TAO_Network_Priority_Hook(void); 00045 00046 virtual void update_network_priority (TAO_Root_POA& poa, 00047 TAO_POA_Policy_Set& poa_policy_set); 00048 00049 00050 virtual void set_dscp_codepoint (TAO_ServerRequest &req, 00051 TAO_Root_POA& poa); 00052 00053 /// Static initializer ensures the factory is loaded 00054 static int initialize (void); 00055 00056 }; 00057 00058 00059 static int 00060 TAO_Requires_Network_Priority_Hook = 00061 TAO_Network_Priority_Hook::initialize (); 00062 00063 TAO_END_VERSIONED_NAMESPACE_DECL 00064 00065 ACE_STATIC_SVC_DECLARE (TAO_Network_Priority_Hook) 00066 ACE_FACTORY_DECLARE (TAO_PortableServer, TAO_Network_Priority_Hook) 00067 00068 #include /**/ "ace/post.h" 00069 00070 #endif /* TAO_NETWORK_PRIORITY_HOOK_H */