Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / RTCORBA / RT_PolicyFactory.h
blobb950d3d2ffa1a23d694b227f7333cc194976fb1e
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file RT_PolicyFactory.h
7 * @author Angelo Corsaro <corsaro@cs.wustl.edu>
8 * @author Ossama Othman <ossama@uci.edu>
9 */
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)
25 # 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.
33 #if defined(_MSC_VER)
34 #pragma warning(push)
35 #pragma warning(disable:4250)
36 #endif /* _MSC_VER */
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
45 public:
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
54 #if defined(_MSC_VER)
55 #pragma warning(pop)
56 #endif /* _MSC_VER */
58 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
60 #include /**/ "ace/post.h"
62 #endif /* TAO_RT_POLICY_FACTORY_H */