Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / EndpointPolicy / EndpointPolicy_Factory.h
blob0a93de4815088e029ff987658d50e94f1f377a12
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file EndpointPolicy_Factory.h
7 * @author Yan Dai <dai_y@ociweb.com>
8 */
9 //=============================================================================
12 #ifndef TAO_ENDPOINTPOLICY_FACTORY_H
13 #define TAO_ENDPOINTPOLICY_FACTORY_H
15 #include /**/ "ace/pre.h"
17 #include "tao/EndpointPolicy/EndpointPolicy_Export.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/PI/PI.h"
24 #include "tao/LocalObject.h"
26 // This is to remove "inherits via dominance" warnings from MSVC.
27 // MSVC is being a little too paranoid.
28 #if defined(_MSC_VER)
29 #pragma warning(push)
30 #pragma warning(disable:4250)
31 #endif /* _MSC_VER */
33 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
35 // Forward declarations.
36 class TAO_ORB_Core;
38 /// Policy factory for the endpoint policies.
39 class TAO_EndpointPolicy_Export TAO_EndpointPolicy_Factory
40 : public virtual PortableInterceptor::PolicyFactory,
41 public virtual ::CORBA::LocalObject
43 public:
44 TAO_EndpointPolicy_Factory (TAO_ORB_Core * orb_core);
46 virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
47 const CORBA::Any & value);
48 private:
49 TAO_ORB_Core * orb_core_;
52 TAO_END_VERSIONED_NAMESPACE_DECL
54 #if defined(_MSC_VER)
55 #pragma warning(pop)
56 #endif /* _MSC_VER */
58 #include /**/ "ace/post.h"
60 #endif /* TAO_ENDPOINTPOLICY_FACTORY_H */