Go to the documentation of this file.00001
00002
00003 #include "tao/Messaging/Buffering_Constraint_Policy.h"
00004
00005 #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1)
00006
00007 #include "tao/Messaging/TAO_ExtA.h"
00008 #include "tao/SystemException.h"
00009 #include "ace/CORBA_macros.h"
00010
00011 ACE_RCSID (Messaging,
00012 Buffering_Constraint_Policy,
00013 "$Id: Buffering_Constraint_Policy.cpp 81436 2008-04-25 09:10:41Z johnnyw $")
00014
00015 #if ! defined (__ACE_INLINE__)
00016 #include "tao/Messaging/Buffering_Constraint_Policy.inl"
00017 #endif
00018
00019 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00020
00021 TAO_Buffering_Constraint_Policy::TAO_Buffering_Constraint_Policy (const TAO::BufferingConstraint &buffering_constraint)
00022 : ::CORBA::Object ()
00023 , ::CORBA::Policy ()
00024 , TAO::BufferingConstraintPolicy ()
00025 , ::CORBA::LocalObject ()
00026 , buffering_constraint_ (buffering_constraint)
00027 {
00028 }
00029
00030 TAO_Buffering_Constraint_Policy::TAO_Buffering_Constraint_Policy (const TAO_Buffering_Constraint_Policy &rhs)
00031 : ::CORBA::Object ()
00032 , ::CORBA::Policy ()
00033 , TAO::BufferingConstraintPolicy ()
00034 , ::CORBA::LocalObject ()
00035 , buffering_constraint_ (rhs.buffering_constraint_)
00036 {
00037 }
00038
00039 CORBA::PolicyType
00040 TAO_Buffering_Constraint_Policy::policy_type (void)
00041 {
00042 return TAO::BUFFERING_CONSTRAINT_POLICY_TYPE;
00043 }
00044
00045 CORBA::Policy_ptr
00046 TAO_Buffering_Constraint_Policy::create (const CORBA::Any& val)
00047 {
00048 TAO::BufferingConstraint *buffering_constraint = 0;
00049 if ((val >>= buffering_constraint) == 0)
00050 throw ::CORBA::PolicyError (CORBA::BAD_POLICY_VALUE);
00051
00052 TAO_Buffering_Constraint_Policy *servant = 0;
00053 ACE_NEW_THROW_EX (servant,
00054 TAO_Buffering_Constraint_Policy (*buffering_constraint),
00055 CORBA::NO_MEMORY ());
00056
00057 return servant;
00058 }
00059
00060
00061 TAO_Buffering_Constraint_Policy *
00062 TAO_Buffering_Constraint_Policy::clone (void) const
00063 {
00064 TAO_Buffering_Constraint_Policy *copy = 0;
00065 ACE_NEW_RETURN (copy,
00066 TAO_Buffering_Constraint_Policy (*this),
00067 0);
00068 return copy;
00069 }
00070
00071 TAO::BufferingConstraint
00072 TAO_Buffering_Constraint_Policy::buffering_constraint (void)
00073 {
00074 return this->buffering_constraint_;
00075 }
00076
00077 CORBA::Policy_ptr
00078 TAO_Buffering_Constraint_Policy::copy (void)
00079 {
00080 TAO_Buffering_Constraint_Policy* servant = 0;
00081 ACE_NEW_THROW_EX (servant,
00082 TAO_Buffering_Constraint_Policy (*this),
00083 CORBA::NO_MEMORY ());
00084
00085 return servant;
00086 }
00087
00088 void
00089 TAO_Buffering_Constraint_Policy::destroy (void)
00090 {
00091 }
00092
00093 TAO_Cached_Policy_Type
00094 TAO_Buffering_Constraint_Policy::_tao_cached_type (void) const
00095 {
00096 return TAO_CACHED_POLICY_BUFFERING_CONSTRAINT;
00097 }
00098
00099 TAO_END_VERSIONED_NAMESPACE_DECL
00100
00101 #endif