3 //=============================================================================
5 * @file Buffering_Constraint_Policy.h
7 * @author Irfan Pyarali (irfan@cs.wustl.edu)
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)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
25 #include "tao/LocalObject.h"
29 #pragma warning(disable:4250)
32 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
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
47 TAO_Buffering_Constraint_Policy (const TAO::BufferingConstraint
&buffering_constraint
);
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;
76 TAO::BufferingConstraint buffering_constraint_
;
79 TAO_END_VERSIONED_NAMESPACE_DECL
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 */