Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Buffering_Constraint_Policy.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 //=============================================================================
00003 /**
00004  *  @file   Buffering_Constraint_Policy.h
00005  *
00006  *  $Id: Buffering_Constraint_Policy.h,v 1.1.1.4 2003/02/21 18:36:44 chad Exp $
00007  *
00008  *  @author Irfan Pyarali (irfan@cs.wustl.edu)
00009  */
00010 //=============================================================================
00011 
00012 
00013 #ifndef TAO_BUFFERING_CONSTRAINT_POLICY_H
00014 #define TAO_BUFFERING_CONSTRAINT_POLICY_H
00015 #include "ace/pre.h"
00016 
00017 #include "tao/orbconf.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
00024 
00025 #include "tao/TAOC.h"
00026 #include "tao/LocalObject.h"
00027 
00028 #if defined(_MSC_VER)
00029 #if (_MSC_VER >= 1200)
00030 #pragma warning(push)
00031 #endif /* _MSC_VER >= 1200 */
00032 #pragma warning(disable:4250)
00033 #endif /* _MSC_VER */
00034 
00035 /**
00036  * @class TAO_Buffering_Constraint_Policy
00037  *
00038  * @brief Implementation class for TAO-specific Buffering Constraint Policy.
00039  *
00040  * This policy is used to control the buffering of requests by the ORB.
00041  */
00042 class TAO_Export TAO_Buffering_Constraint_Policy
00043   : public TAO::BufferingConstraintPolicy,
00044     public TAO_Local_RefCounted_Object
00045 {
00046 public:
00047   /// Constructor.
00048   TAO_Buffering_Constraint_Policy (const TAO::BufferingConstraint &buffering_constraint);
00049 
00050   /// Copy constructor.
00051   TAO_Buffering_Constraint_Policy (const TAO_Buffering_Constraint_Policy &rhs);
00052 
00053   /// Helper method for the implementation of CORBA::ORB::create_policy.
00054   static CORBA::Policy_ptr create (const CORBA::Any& val
00055                                    ACE_ENV_ARG_DECL_WITH_DEFAULTS);
00056 
00057   /// Returns a copy of <this>.
00058   virtual TAO_Buffering_Constraint_Policy *clone (void) const;
00059 
00060   // = The TAO::Buffering_Constraint_Policy methods
00061 
00062   virtual TAO::BufferingConstraint buffering_constraint (ACE_ENV_SINGLE_ARG_DECL)
00063     ACE_THROW_SPEC ((CORBA::SystemException));
00064   void get_buffering_constraint (TAO::BufferingConstraint &) const;
00065 
00066   virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00067     ACE_THROW_SPEC ((CORBA::SystemException));
00068 
00069   virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00070     ACE_THROW_SPEC ((CORBA::SystemException));
00071 
00072   virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00073     ACE_THROW_SPEC ((CORBA::SystemException));
00074 
00075   // Return the cached policy type for this policy.
00076   virtual TAO_Cached_Policy_Type _tao_cached_type (void) const;
00077 
00078 private:
00079   /// The attribute
00080   TAO::BufferingConstraint buffering_constraint_;
00081 };
00082 
00083 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
00084 #pragma warning(pop)
00085 #endif /* _MSC_VER */
00086 
00087 #if defined (__ACE_INLINE__)
00088 #include "tao/Buffering_Constraint_Policy.i"
00089 #endif /* __ACE_INLINE__ */
00090 
00091 #endif /* TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1 */
00092 
00093 #include "ace/post.h"
00094 #endif /* TAO_BUFFERING_CONSTRAINT_POLICY_H */

Generated on Mon Jun 16 13:48:02 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002