00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Policy_Current_Impl.h 00006 * 00007 * Policy_Current_Impl.h,v 1.3 2006/03/10 07:19:06 jtc Exp 00008 * 00009 * An implementation for the CORBA::PolicyManager interface. 00010 * 00011 * 00012 * @author Carlos O'Ryan (coryan@cs.wustl.edu) 00013 */ 00014 //============================================================================= 00015 00016 00017 #ifndef TAO_POLICY_CURRENT_IMPL_H 00018 #define TAO_POLICY_CURRENT_IMPL_H 00019 00020 #include /**/ "ace/pre.h" 00021 00022 #include "tao/TAO_Export.h" 00023 00024 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00025 # pragma once 00026 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00027 00028 #include "tao/orbconf.h" 00029 00030 #if (TAO_HAS_CORBA_MESSAGING == 1) 00031 00032 #include "tao/PolicyC.h" 00033 #include "tao/LocalObject.h" 00034 #include "tao/Policy_Set.h" 00035 00036 #if defined(_MSC_VER) 00037 #pragma warning(push) 00038 #pragma warning(disable:4250) 00039 #endif /* _MSC_VER */ 00040 00041 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00042 00043 class TAO_Policy_Current_Impl 00044 { 00045 public: 00046 00047 TAO_Policy_Current_Impl (void); 00048 00049 /// Obtain a single policy. 00050 CORBA::Policy_ptr get_policy (CORBA::PolicyType policy 00051 ACE_ENV_ARG_DECL); 00052 00053 /// Obtain a single cached policy. 00054 CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type 00055 ACE_ENV_ARG_DECL); 00056 00057 // = The CORBA::PolicyManager operations 00058 00059 CORBA::PolicyList * get_policy_overrides ( 00060 const CORBA::PolicyTypeSeq & ts 00061 ACE_ENV_ARG_DECL_WITH_DEFAULTS 00062 ); 00063 void set_policy_overrides (const CORBA::PolicyList & policies, 00064 CORBA::SetOverrideType set_add 00065 ACE_ENV_ARG_DECL_WITH_DEFAULTS); 00066 00067 private: 00068 /// The implementation. 00069 TAO_Policy_Set manager_impl_; 00070 }; 00071 00072 TAO_END_VERSIONED_NAMESPACE_DECL 00073 00074 #if defined(_MSC_VER) 00075 #pragma warning(pop) 00076 #endif /* _MSC_VER */ 00077 00078 #if defined (__ACE_INLINE__) 00079 # include "tao/Policy_Current_Impl.inl" 00080 #endif /* __ACE_INLINE__ */ 00081 00082 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */ 00083 00084 #include /**/ "ace/post.h" 00085 00086 #endif /* TAO_POLICY_CURRENT_IMPL_H */