// -*- C++ -*- //============================================================================= /** * @file ThreadPolicy.h * * $Id$ * * @author Johnny Willemsen */ //============================================================================= #ifndef TAO_PORTABLESERVER_THREADPOLICY_H #define TAO_PORTABLESERVER_THREADPOLICY_H #include /**/ "ace/pre.h" #include "portableserver_export.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "ThreadPolicyC.h" #include "tao/LocalObject.h" // This is to remove "inherits via dominance" warnings from MSVC. // MSVC is being a little too paranoid. #if defined(_MSC_VER) #pragma warning(push) #pragma warning(disable:4250) #endif /* _MSC_VER */ #if (TAO_HAS_MINIMUM_POA == 0) namespace TAO { namespace Portable_Server { class TAO_PortableServer_Export ThreadPolicy : public virtual ::PortableServer::ThreadPolicy, public virtual TAO_Local_RefCounted_Object { public: ThreadPolicy (::PortableServer::ThreadPolicyValue value); CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); ::PortableServer::ThreadPolicyValue value (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); /// Return the cached policy type for this policy. TAO_Cached_Policy_Type _tao_cached_type (void) const; /// Returns the scope at which this policy can be applied. See orbconf.h. TAO_Policy_Scope _tao_scope (void) const; private: ::PortableServer::ThreadPolicyValue value_; }; } } #endif /* TAO_HAS_MINIMUM_POA == 0 */ #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ #include /**/ "ace/post.h" #endif /* TAO_PORTABLESERVER_THREADPOLICY_H */