00001 // -*- C++ -*- 00002 //============================================================================= 00003 /** 00004 * @file PolicyList_Destroyer.h 00005 * 00006 * $Id: PolicyList_Destroyer.h 77151 2007-02-15 13:24:41Z johnnyw $ 00007 * 00008 * @author Carlos O'Ryan <coryan@atdesk.com> 00009 */ 00010 //============================================================================= 00011 #ifndef TAO_UTILS_POLICYLIST_DESTROYER_H 00012 #define TAO_UTILS_POLICYLIST_DESTROYER_H 00013 #include /**/ "ace/pre.h" 00014 #include "tao/Utils/utils_export.h" 00015 00016 #include "tao/PolicyC.h" 00017 00018 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00019 # pragma once 00020 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00021 00022 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00023 00024 namespace TAO 00025 { 00026 namespace Utils 00027 { 00028 00029 /** 00030 * @class PolicyList_Destroyer 00031 * 00032 * @brief Automatically destroy all the policies set in a PolicyList 00033 * 00034 */ 00035 class TAO_UTILS_Export PolicyList_Destroyer 00036 : public CORBA::PolicyList 00037 { 00038 public: 00039 PolicyList_Destroyer(CORBA::ULong length_hint); 00040 ~PolicyList_Destroyer() throw (); 00041 }; 00042 00043 } // namespace Utils 00044 } // namespace TAO 00045 00046 TAO_END_VERSIONED_NAMESPACE_DECL 00047 00048 #if defined (__ACE_INLINE__) 00049 # include "tao/Utils/PolicyList_Destroyer.inl" 00050 #endif /* __ACE_INLINE__ */ 00051 00052 #include /**/ "ace/post.h" 00053 #endif /*TAO_UTILS_POLICYLIST_DESTROYER_H*/