diff options
Diffstat (limited to 'TAO/tao/PortableServer/ThreadStrategySingle.h')
-rw-r--r-- | TAO/tao/PortableServer/ThreadStrategySingle.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/TAO/tao/PortableServer/ThreadStrategySingle.h b/TAO/tao/PortableServer/ThreadStrategySingle.h new file mode 100644 index 00000000000..08489c7df75 --- /dev/null +++ b/TAO/tao/PortableServer/ThreadStrategySingle.h @@ -0,0 +1,67 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ThreadStrategySingle.h + * + * $Id$ + * + * @author Johnny Willemsen <jwillemsen@remedy.nl> + */ +//============================================================================= + +#ifndef TAO_THREADSTRATEGYSINGLE_H +#define TAO_THREADSTRATEGYSINGLE_H +#include /**/ "ace/pre.h" + +#include "tao/PortableServer/portableserver_export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/PortableServer/ThreadStrategy.h" + +#include "tao/orbconf.h" + +#include "ace/Service_Config.h" + +// Locking +#include "ace/Synch_Traits.h" +#include "ace/Thread_Mutex.h" +#include "ace/Recursive_Thread_Mutex.h" +#include "ace/Null_Mutex.h" + + +#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + namespace Portable_Server + { + class TAO_PortableServer_Export ThreadStrategySingle : + public ThreadStrategy + { + public: + virtual int enter (); + + virtual int exit (); + + virtual ::PortableServer::ThreadPolicyValue type() const; + private: + TAO_SYNCH_RECURSIVE_MUTEX lock_; + }; + } +} + +TAO_END_VERSIONED_NAMESPACE_DECL + +ACE_STATIC_SVC_DECLARE_EXPORT (TAO_PortableServer, ThreadStrategySingle) +ACE_FACTORY_DECLARE (TAO_PortableServer, ThreadStrategySingle) + +#endif /* TAO_HAS_MINIMUM_POA == 0 */ + +#include /**/ "ace/post.h" +#endif /* TAO_THREADSTRATEGYSINGLE_H */ |