3 //=============================================================================
5 * @file RT_PolicyFactory.h
7 * @author Angelo Corsaro <corsaro@cs.wustl.edu>
8 * @author Ossama Othman <ossama@uci.edu>
10 //=============================================================================
13 #ifndef TAO_RT_POLICY_FACTORY_H
14 #define TAO_RT_POLICY_FACTORY_H
16 #include /**/ "ace/pre.h"
18 #include "tao/orbconf.h"
20 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
22 #include "tao/RTCORBA/rtcorba_export.h"
24 #if !defined (ACE_LACKS_PRAGMA_ONCE)
26 #endif /* ACE_LACKS_PRAGMA_ONCE */
28 #include "tao/PI/PI.h"
29 #include "tao/LocalObject.h"
31 // This is to remove "inherits via dominance" warnings from MSVC.
32 // MSVC is being a little too paranoid.
35 #pragma warning(disable:4250)
38 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
40 /// Policy factory for all RTCORBA related policies.
41 class TAO_RT_PolicyFactory
42 : public virtual PortableInterceptor::PolicyFactory
,
43 public virtual ::CORBA::LocalObject
46 virtual CORBA::Policy_ptr
create_policy (CORBA::PolicyType type
,
47 const CORBA::Any
&value
);
49 virtual CORBA::Policy_ptr
_create_policy (CORBA::PolicyType type
);
52 TAO_END_VERSIONED_NAMESPACE_DECL
58 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
60 #include /**/ "ace/post.h"
62 #endif /* TAO_RT_POLICY_FACTORY_H */