Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tests / Collocated_Forwarding / Server_ORBInitializer.h
blob67ca0a504bfae2f1f53f904e9fc803a03f36f05b
1 // -*- C++ -*-
2 #ifndef TAO_SERVER_ORB_INITIALIZER_H
3 #define TAO_SERVER_ORB_INITIALIZER_H
5 #include /**/ "ace/pre.h"
7 #include "tao/LocalObject.h"
9 #if !defined (ACE_LACKS_PRAGMA_ONCE)
10 # pragma once
11 #endif /* ACE_LACKS_PRAGMA_ONCE */
13 #if TAO_HAS_INTERCEPTORS == 1
15 #include "tao/PI/PI.h"
17 // This is to remove "inherits via dominance" warnings from MSVC.
18 // MSVC is being a little too paranoid.
19 #if defined(_MSC_VER)
20 #pragma warning(push)
21 #pragma warning(disable:4250)
22 #endif /* _MSC_VER */
24 // Forward declaration.
25 class Server_Request_Interceptor;
27 /// Server side ORB initializer.
28 class Server_ORBInitializer :
29 public virtual PortableInterceptor::ORBInitializer,
30 public virtual ::CORBA::LocalObject
32 public:
33 /// Constructor.
34 Server_ORBInitializer (CORBA::ULong request_pass_count);
36 virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info);
38 virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info);
40 /// Return the created server request interceptor. Only valid after
41 /// post_init(), i.e. ORB_init(), has been called.
42 PortableInterceptor::ServerRequestInterceptor_ptr server_interceptor ();
44 private:
45 /// How much requests to pass thru before forwarding.
46 CORBA::ULong request_pass_count_;
48 /// Pointer to the server request interceptor. ORB is responsible
49 /// for storage.
50 PortableInterceptor::ServerRequestInterceptor_var server_interceptor_;
53 #if defined(_MSC_VER)
54 #pragma warning(pop)
55 #endif /* _MSC_VER */
57 #endif /* TAO_HAS_INTERCEPTORS == 1 */
59 #include /**/ "ace/post.h"
61 #endif /* TAO_SERVER_ORB_INITIALIZER_H */