Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / orbsvcs / tests / Bug_2248_Regression / Server_ORBInitializer.h
blobed531adfc9e29cafa8e8e95d646cdb0a2cb58b72
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Server_ORBInitializer.h
7 * @author Ossama Othman <ossama@uci.edu>
8 */
9 //=============================================================================
11 #ifndef BUG_2248_REGRESSION_SERVER_ORB_INITIALIZER_H
12 #define BUG_2248_REGRESSION_SERVER_ORB_INITIALIZER_H
14 #include /**/ "ace/pre.h"
16 #include "tao/LocalObject.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 # pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #if TAO_HAS_INTERCEPTORS == 1
24 #include "tao/PI/PI.h"
26 // This is to remove "inherits via dominance" warnings from MSVC.
27 // MSVC is being a little too paranoid.
28 #if defined(_MSC_VER)
29 #pragma warning(push)
30 #pragma warning(disable:4250)
31 #endif /* _MSC_VER */
33 // Forward declaration.
34 class Server_Request_Interceptor;
36 /// Server side ORB initializer.
37 class Server_ORBInitializer :
38 public virtual PortableInterceptor::ORBInitializer,
39 public virtual ::CORBA::LocalObject
41 public:
43 /// Constructor.
44 Server_ORBInitializer (void);
46 virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info);
48 virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info);
50 /// Return the created server request interceptor. Only valid after
51 /// post_init(), i.e. ORB_init(), has been called.
52 PortableInterceptor::ServerRequestInterceptor_ptr server_interceptor (void);
54 private:
56 /// Pointer to the server request interceptor. ORB is responsible
57 /// for storage.
58 PortableInterceptor::ServerRequestInterceptor_var server_interceptor_;
61 #if defined(_MSC_VER)
62 #pragma warning(pop)
63 #endif /* _MSC_VER */
65 #endif /* TAO_HAS_INTERCEPTORS == 1 */
67 #include /**/ "ace/post.h"
69 #endif /* BUG_2248_REGRESSION_SERVER_ORB_INITIALIZER_H */