Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / BiDir_GIOP / BiDir_Policy_i.h
blob24e47b059c89ce47d031456163d6319f1547d9ba
1 // -*- C++ -*-
3 // ===================================================================
4 /**
5 * @file BiDir_Policy_i.h
7 * @author Balachandran Natarajan <bala@cs.wustl.edu>
8 */
9 // ===================================================================
11 #ifndef TAO_BIDIR_POLICY_I_H
12 #define TAO_BIDIR_POLICY_I_H
13 #include /**/ "ace/pre.h"
14 #include "tao/BiDir_GIOP/bidirgiop_export.h"
16 #if !defined (ACE_LACKS_PRAGMA_ONCE)
17 # pragma once
18 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 #include "tao/BiDir_GIOP/BiDirGIOP.h"
21 #include "tao/LocalObject.h"
23 #if defined(_MSC_VER)
24 # pragma warning(push)
25 # pragma warning(disable:4250)
26 #endif /* _MSC_VER */
28 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
30 /**
31 * @class TAO_BidirectionalPolicy
33 * @brief Implementation of the BiDirPolicy::BidirectionalPolicy
35 * This policy controls the whether the connections established by the
36 * clients can be made bi-directional or not. Further, this policy
37 * also needs to be set by the server to use the connections
38 * established by the clients to send requests.
40 class TAO_BidirectionalPolicy
41 : public virtual BiDirPolicy::BidirectionalPolicy
42 , public virtual ::CORBA::LocalObject
44 public:
45 /// Constructor.
46 TAO_BidirectionalPolicy (const BiDirPolicy::BidirectionalPolicyValue val);
48 /// Copy constructor.
49 TAO_BidirectionalPolicy (const TAO_BidirectionalPolicy &rhs);
51 /// Returns a copy of this.
52 virtual TAO_BidirectionalPolicy *clone () const;
54 /// = The BiDir::BidirectionalPolicy methods
55 BiDirPolicy::BidirectionalPolicyValue value () override;
57 CORBA::PolicyType policy_type () override;
59 CORBA::Policy_ptr copy () override;
61 void destroy () override;
63 TAO_Cached_Policy_Type _tao_cached_type () const override;
65 private:
66 /// The attribute
67 BiDirPolicy::BidirectionalPolicyValue value_;
70 TAO_END_VERSIONED_NAMESPACE_DECL
72 #if defined(_MSC_VER)
73 # pragma warning(pop)
74 #endif /* _MSC_VER */
76 #include /**/ "ace/post.h"
77 #endif /* TAO_BIDIR_POLICY_I_H */