Use =default for skeleton copy constructor
[ACE_TAO.git] / TAO / tao / Messaging / Buffering_Constraint_Policy.h
blobf65dc35667f1eb23581b96f75dd901f0789addff
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Buffering_Constraint_Policy.h
7 * @author Irfan Pyarali (irfan@cs.wustl.edu)
8 */
9 //=============================================================================
12 #ifndef TAO_BUFFERING_CONSTRAINT_POLICY_H
13 #define TAO_BUFFERING_CONSTRAINT_POLICY_H
15 #include /**/ "ace/pre.h"
17 #include "tao/Messaging/TAO_ExtC.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
25 #include "tao/LocalObject.h"
27 #if defined(_MSC_VER)
28 #pragma warning(push)
29 #pragma warning(disable:4250)
30 #endif /* _MSC_VER */
32 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
34 /**
35 * @class TAO_Buffering_Constraint_Policy
37 * @brief Implementation class for TAO-specific Buffering Constraint Policy.
39 * This policy is used to control the buffering of requests by the ORB.
41 class TAO_Buffering_Constraint_Policy
42 : public TAO::BufferingConstraintPolicy,
43 public ::CORBA::LocalObject
45 public:
46 /// Constructor.
47 TAO_Buffering_Constraint_Policy (const TAO::BufferingConstraint &buffering_constraint);
49 /// Copy constructor.
50 TAO_Buffering_Constraint_Policy (const TAO_Buffering_Constraint_Policy &rhs);
52 /// Helper method for the implementation of
53 /// CORBA::ORB::create_policy.
54 static CORBA::Policy_ptr create (const CORBA::Any& val);
56 /// Returns a copy of @c this.
57 virtual TAO_Buffering_Constraint_Policy *clone () const;
59 // = The TAO::Buffering_Constraint_Policy methods
61 virtual TAO::BufferingConstraint buffering_constraint ();
63 void get_buffering_constraint (TAO::BufferingConstraint &) const;
65 virtual CORBA::PolicyType policy_type ();
67 virtual CORBA::Policy_ptr copy ();
69 virtual void destroy ();
71 /// Return the cached policy type for this policy.
72 virtual TAO_Cached_Policy_Type _tao_cached_type () const;
74 private:
75 /// The attribute
76 TAO::BufferingConstraint buffering_constraint_;
79 TAO_END_VERSIONED_NAMESPACE_DECL
81 #if defined(_MSC_VER)
82 #pragma warning(pop)
83 #endif /* _MSC_VER */
85 #if defined (__ACE_INLINE__)
86 #include "tao/Messaging/Buffering_Constraint_Policy.inl"
87 #endif /* __ACE_INLINE__ */
89 #endif /* TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1 */
91 #include /**/ "ace/post.h"
92 #endif /* TAO_BUFFERING_CONSTRAINT_POLICY_H */