Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / PortableServer / ServantRetentionPolicy.h
blobb39152dad1ce833d710e2e54b30af339a1cde822
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file ServantRetentionPolicy.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
8 */
9 //=============================================================================
11 #ifndef TAO_PORTABLESERVER_SERVANTRETENTIONPOLICY_H
12 #define TAO_PORTABLESERVER_SERVANTRETENTIONPOLICY_H
13 #include /**/ "ace/pre.h"
15 #include "tao/PortableServer/portableserver_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/PortableServer/ServantRetentionPolicyC.h"
22 #include "tao/LocalObject.h"
24 // This is to remove "inherits via dominance" warnings from MSVC.
25 // MSVC is being a little too paranoid.
26 #if defined(_MSC_VER)
27 #pragma warning(push)
28 #pragma warning(disable:4250)
29 #endif /* _MSC_VER */
31 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
33 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
35 namespace TAO
37 namespace Portable_Server
39 class TAO_PortableServer_Export ServantRetentionPolicy :
40 public virtual ::PortableServer::ServantRetentionPolicy,
41 public virtual ::CORBA::LocalObject
43 public:
44 ServantRetentionPolicy (::PortableServer::ServantRetentionPolicyValue value);
46 CORBA::Policy_ptr copy ();
48 void destroy ();
50 ::PortableServer::ServantRetentionPolicyValue value ();
52 CORBA::PolicyType policy_type ();
54 /// Return the cached policy type for this policy.
55 TAO_Cached_Policy_Type _tao_cached_type () const;
57 /// Returns the scope at which this policy can be applied. See orbconf.h.
58 TAO_Policy_Scope _tao_scope () const;
60 private:
61 ::PortableServer::ServantRetentionPolicyValue value_;
66 TAO_END_VERSIONED_NAMESPACE_DECL
68 #endif /* TAO_HAS_MINIMUM_POA == 0 */
70 #if defined(_MSC_VER)
71 #pragma warning(pop)
72 #endif /* _MSC_VER */
74 #include /**/ "ace/post.h"
75 #endif /* TAO_PORTABLESERVER_SERVANTRETENTIONPOLICY_H */