00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file POA_Guard.h 00006 * 00007 * POA_Guard.h,v 1.5 2006/03/10 07:19:13 jtc Exp 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/Environment.h" 00023 #include "ace/Guard_T.h" 00024 #include "ace/CORBA_macros.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 class TAO_Root_POA; 00029 00030 namespace TAO 00031 { 00032 namespace Portable_Server 00033 { 00034 /** 00035 * @class POA_Guard 00036 * 00037 * @brief POA_Guard 00038 * 00039 * POA_Guard 00040 */ 00041 class TAO_PortableServer_Export POA_Guard 00042 { 00043 public: 00044 POA_Guard (::TAO_Root_POA &poa 00045 ACE_ENV_ARG_DECL, 00046 int check_for_destruction = 1); 00047 00048 private: 00049 ACE_Guard<ACE_Lock> guard_; 00050 }; 00051 } /* namespace Portable_Server */ 00052 } /* namespace TAO */ 00053 00054 TAO_END_VERSIONED_NAMESPACE_DECL 00055 00056 #include /**/ "ace/post.h" 00057 00058 #endif /* TAO_POA_GUARD_H */