00001 // -*- C++ -*- 00002 00003 // =================================================================== 00004 /** 00005 * @file BiDir_Policy_i.h 00006 * 00007 * $Id: BiDir_Policy_i.h 81414 2008-04-24 09:49:56Z johnnyw $ 00008 * 00009 * @author Balachandran Natarajan <bala@cs.wustl.edu> 00010 */ 00011 // =================================================================== 00012 00013 #ifndef TAO_BIDIR_POLICY_I_H 00014 #define TAO_BIDIR_POLICY_I_H 00015 #include /**/ "ace/pre.h" 00016 #include "tao/BiDir_GIOP/bidirgiop_export.h" 00017 00018 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00019 # pragma once 00020 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00021 00022 #include "tao/BiDir_GIOP/BiDirGIOP.h" 00023 #include "tao/LocalObject.h" 00024 00025 #if defined(_MSC_VER) 00026 # pragma warning(push) 00027 # pragma warning(disable:4250) 00028 #endif /* _MSC_VER */ 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 /** 00033 * @class TAO_BidirectionalPolicy 00034 * 00035 * @brief Implementation of the BiDirPolicy::BidirectionalPolicy 00036 * 00037 * This policy controls the whether the connections established by the 00038 * clients can be made bi-directional or not. Further, this policy 00039 * also needs to be set by the server to use the connections 00040 * established by the clients to send requests. 00041 */ 00042 class TAO_BidirectionalPolicy 00043 : public virtual BiDirPolicy::BidirectionalPolicy 00044 , public virtual ::CORBA::LocalObject 00045 { 00046 public: 00047 00048 /// Constructor. 00049 TAO_BidirectionalPolicy (const BiDirPolicy::BidirectionalPolicyValue val); 00050 00051 /// Copy constructor. 00052 TAO_BidirectionalPolicy (const TAO_BidirectionalPolicy &rhs); 00053 00054 /// Returns a copy of <this>. 00055 virtual TAO_BidirectionalPolicy *clone (void) const; 00056 00057 /// = The BiDir::BidirectionalPolicy methods 00058 virtual BiDirPolicy::BidirectionalPolicyValue value (void); 00059 00060 virtual CORBA::PolicyType policy_type (void); 00061 00062 virtual CORBA::Policy_ptr copy (void); 00063 00064 virtual void destroy (void); 00065 00066 virtual TAO_Cached_Policy_Type _tao_cached_type (void) const; 00067 00068 private: 00069 00070 /// The attribute 00071 BiDirPolicy::BidirectionalPolicyValue value_; 00072 00073 }; 00074 00075 TAO_END_VERSIONED_NAMESPACE_DECL 00076 00077 #if defined(_MSC_VER) 00078 # pragma warning(pop) 00079 #endif /* _MSC_VER */ 00080 00081 #include /**/ "ace/post.h" 00082 #endif /* TAO_BIDIR_POLICY_I_H */