3 //=============================================================================
5 * @file ORBInitializer.h
7 * @author Ossama Othman <ossama@dre.vanderbilt.edu>
9 //=============================================================================
11 #ifndef ORB_INITIALIZER_H
12 #define ORB_INITIALIZER_H
14 #include /**/ "ace/pre.h"
16 #include "orbsvcs/LoadBalancing/LB_LoadAlert.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "tao/LocalObject.h"
23 #include "tao/PI/PI.h"
25 // This is to remove "inherits via dominance" warnings from MSVC.
26 // MSVC is being a little too paranoid.
29 #pragma warning(disable:4250)
32 class ServerRequestInterceptor
;
35 * @class ORBInitializer
37 * @brief ORBInitializer
42 : public virtual PortableInterceptor::ORBInitializer
,
43 public virtual ::CORBA::LocalObject
50 * @name PortableInterceptor::ORBInitializer Methods
52 * Methods required by the PortableInterceptor::ORBInitializer
56 virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info
);
58 virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info
);
61 /// Return a reference to the LoadAlert object.
62 TAO_LB_LoadAlert
& load_alert ();
64 ServerRequestInterceptor
* interceptor () const;
67 /// The CosLoadBalancing::LoadAlert servant to be used at this
70 * This is the servant supplied by TAO's Load Balancer. It is
71 * used out of convencience.
73 TAO_LB_LoadAlert load_alert_
;
75 /// Interceptor that counts requests.
76 ServerRequestInterceptor
* interceptor_
;
84 #include /**/ "ace/post.h"
86 #endif /* ORB_INITIALIZER_H */