00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file POA_Guard.h 00006 * 00007 * $Id: POA_Guard.h 76995 2007-02-11 12:51:42Z johnnyw $ 00008 */ 00009 //============================================================================= 00010 00011 #ifndef TAO_POA_GUARD_H 00012 #define TAO_POA_GUARD_H 00013 00014 #include /**/ "ace/pre.h" 00015 00016 #include "tao/PortableServer/portableserver_export.h" 00017 00018 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00019 # pragma once 00020 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00021 00022 #include "tao/orbconf.h" 00023 #include "ace/Guard_T.h" 00024 00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00026 00027 class TAO_Root_POA; 00028 00029 namespace TAO 00030 { 00031 namespace Portable_Server 00032 { 00033 /** 00034 * @class POA_Guard 00035 * 00036 * @brief POA_Guard 00037 * 00038 * POA_Guard 00039 */ 00040 class TAO_PortableServer_Export POA_Guard 00041 { 00042 public: 00043 POA_Guard (::TAO_Root_POA &poa, bool check_for_destruction = true); 00044 00045 private: 00046 ACE_Guard<ACE_Lock> guard_; 00047 }; 00048 } /* namespace Portable_Server */ 00049 } /* namespace TAO */ 00050 00051 TAO_END_VERSIONED_NAMESPACE_DECL 00052 00053 #include /**/ "ace/post.h" 00054 00055 #endif /* TAO_POA_GUARD_H */