More tests update
[ACE_TAO.git] / TAO / tests / Collocated_Forwarding / Server_ORBInitializer.h
blob082deef36ee025d8d72d7f18059faec4d14b42d7
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:
34 /// Constructor.
35 Server_ORBInitializer (CORBA::ULong request_pass_count);
37 virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info);
39 virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info);
41 /// Return the created server request interceptor. Only valid after
42 /// post_init(), i.e. ORB_init(), has been called.
43 PortableInterceptor::ServerRequestInterceptor_ptr server_interceptor (void);
45 private:
47 /// How much requests to pass thru before forwarding.
48 CORBA::ULong request_pass_count_;
50 /// Pointer to the server request interceptor. ORB is responsible
51 /// for storage.
52 PortableInterceptor::ServerRequestInterceptor_var server_interceptor_;
55 #if defined(_MSC_VER)
56 #pragma warning(pop)
57 #endif /* _MSC_VER */
59 #endif /* TAO_HAS_INTERCEPTORS == 1 */
61 #include /**/ "ace/post.h"
63 #endif /* TAO_SERVER_ORB_INITIALIZER_H */