3 //=============================================================================
5 * @file PI_ORBInitializer.h
7 * @author Tim Bradley <bradley_t@ociweb.com>
9 //=============================================================================
11 #ifndef TAO_PI_ORB_INITIALIZER_H
12 #define TAO_PI_ORB_INITIALIZER_H
14 #include /**/ "ace/pre.h"
16 #include "tao/orbconf.h"
18 #if TAO_HAS_INTERCEPTORS == 1
20 #include "tao/PI/pi_export.h"
22 #if !defined (ACE_LACKS_PRAGMA_ONCE)
24 #endif /* ACE_LACKS_PRAGMA_ONCE */
26 #include "tao/LocalObject.h"
27 #include "tao/PI/PI_includeC.h"
29 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
31 /// Forward Declarations
32 class TAO_PI_PolicyFactory
;
34 /// PortableServer ORB initializer.
35 class TAO_PI_Export TAO_PI_ORBInitializer
36 : public virtual PortableInterceptor::ORBInitializer
,
37 public virtual ::CORBA::LocalObject
41 * @name PortableInterceptor::ORBInitializer methods
43 * The following methods are required by the
44 * PortableInterceptor::ORBInitializer interface.
47 void pre_init (PortableInterceptor::ORBInitInfo_ptr info
);
49 void post_init (PortableInterceptor::ORBInitInfo_ptr info
);
53 /// Register PortableInterceptor policy factories.
54 void register_policy_factories (PortableInterceptor::ORBInitInfo_ptr info
);
56 /// Instance of the PI policy factory.
58 * The PI policy factory is stateless and reentrant, so share
59 * a single instance between all ORBs.
61 PortableInterceptor::PolicyFactory_var policy_factory_
;
64 TAO_END_VERSIONED_NAMESPACE_DECL
66 #endif /* TAO_HAS_INTERCEPTORS == 1 */
68 #include /**/ "ace/post.h"
70 #endif /* TAO_PI_ORB_INITIALIZER_H */