Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / EndpointPolicy / EndpointPolicy_i.h
blob198e7a59bc2dd93cbe3460de32a05f5846655324
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file EndpointPolicy_i.h
7 * @author Yan Dai <dai_y@ociweb.com>
8 */
9 //=============================================================================
12 #ifndef TAO_ENDPOINTPOLICY_I_H
13 #define TAO_ENDPOINTPOLICY_I_H
15 #include /**/ "ace/pre.h"
17 #include "tao/TAOC.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/EndpointPolicy/EndpointPolicyC.h"
24 #include "tao/LocalObject.h"
26 #if defined(_MSC_VER)
27 #pragma warning(push)
28 #pragma warning(disable:4250)
29 #endif /* _MSC_VER */
31 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
34 /**
35 * @class TAO_EndpointPolicy_i
37 * @brief Implementation class for TAO-specific Endpoint Policy.
39 * This policy is used to filter the endpoints in profiles during
40 * the creation of object references.
42 class TAO_EndpointPolicy_Export TAO_EndpointPolicy_i
43 : public virtual EndpointPolicy::Policy,
44 public virtual ::CORBA::LocalObject
46 public:
47 /// Constructor.
48 TAO_EndpointPolicy_i (const EndpointPolicy::EndpointList &value);
50 /// Copy constructor.
51 TAO_EndpointPolicy_i (const TAO_EndpointPolicy_i &rhs);
53 virtual ~TAO_EndpointPolicy_i ();
55 /// Returns a copy of this>
56 virtual TAO_EndpointPolicy_i *clone () const;
58 // = The EndpointPolicy::Policy methods
60 virtual CORBA::PolicyType policy_type ();
62 virtual CORBA::Policy_ptr copy ();
64 virtual void destroy ();
66 // Return the cached policy type for this policy.
67 virtual TAO_Cached_Policy_Type _tao_cached_type () const;
69 virtual EndpointPolicy::EndpointList * value ();
71 private:
72 /// The attribute
73 EndpointPolicy::EndpointList value_;
77 TAO_END_VERSIONED_NAMESPACE_DECL
79 #if defined(_MSC_VER)
80 #pragma warning(pop)
81 #endif /* _MSC_VER */
83 #include /**/ "ace/post.h"
84 #endif /* TAO_ENDPOINTPOLICY_I_H */