diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Thread_Flags.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Thread_Flags.h | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Thread_Flags.h b/TAO/orbsvcs/orbsvcs/Event/EC_Thread_Flags.h deleted file mode 100644 index ad80bc38f68..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Thread_Flags.h +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file EC_Thread_Flags.h - * - * $Id$ - * - * @author Chris Cleeland <cleeland@ociweb.com> - * - * Encapsulate flags that can be used for creating threads. - */ - -#ifndef TAO_EC_THREAD_FLAGS_H -#define TAO_EC_THREAD_FLAGS_H -#include /**/ "ace/pre.h" - -#include /**/ "tao/orbconf.h" -#include /**/ "tao/Versioned_Namespace.h" -#include /**/ "orbsvcs/Event/event_serv_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -/*! - \class TAO_EC_Thread_Flags - - \brief Parse thread flags from string to a long. - - Encapsulate flags used for creating threads with \a - ACE_OS::thr_create and \a ACE_Task::activate. - - \note On platforms that do not support the thread schedulers, the - ACE OS adaptation layer preserves the symbols for THR_SCHED_*, but - defines them as zero. Thus, on such platforms, setting a scheduler - in the flags, then inquiring for the scheduler type will yield the - same result as an unknown or unset scheduler. - - \bugs This should really be part of ACE or ACE_OS, and maybe someday - it will, but right now it's not. - -*/ -class TAO_RTEvent_Serv_Export TAO_EC_Thread_Flags -{ -public: - TAO_EC_Thread_Flags () { } - /*! \brief See \a operator=() */ - TAO_EC_Thread_Flags (const char* symbolic_flags) - { this->parse_symbols(symbolic_flags); } - ~TAO_EC_Thread_Flags (); - - // Default Copy CTOR is fine. - - /*! - \brief Assign a new set of symbolic flags, setting \a flags, \a scope, and \a sched as possible. - - The flags can be symbolic, separated by the vertical bar ('|'). - In case a platform supports a creation flag not available - symbolically, the user can specify a numeric value any place a - symbol could be used. - - \sa TAO_EC_Thread_Flags::supported_flags - - \note The \a sched value only gets set if the scheduler is specified using symbols. - */ - const TAO_EC_Thread_Flags& operator= (const char* symbolic_flags) - { this->parse_symbols(symbolic_flags); return *this; } - - /*! - \brief Returns numeric equivalent of the thread flags suitable for passing to ACE_Task::activate. - */ - long flags() const { return this->flags_; } - - /*! - \brief Returns value of THR_SCOPE_* used, or zero if unknown. - */ - long scope() const { return this->scope_; } - - /*! - \brief Returns value of THR_SCHED_* used, or zero if unknown. - */ - long sched() const { return this->sched_; } - - /// Synonym for flags(), i.e., syntactic sugar. - operator long () const { return this->flags(); } - - /*! - \brief Return an acceptable default priority for the scheduler returned by sched(). - \return the priority, or ACE_DEFAULT_THREAD_PRIORITY if the scheduler is unknown. - */ - long default_priority () const; - - - - struct Supported_Flag - { - const char* n; /// Flag name, e.g., THR_NEW_LWP - long v; /// Flag value, i.e., actual symbol - }; - - // TETFSF == TAO_EC_THREAD_FLAGS_SUPPORTED_FLAGS - static Supported_Flag supported_flags_[]; - -protected: - long flags_; /// Value of all flags OR'd together - long scope_; /// Value of THR_SCOPE_* - long sched_; /// Value of THR_SCHED_* - - void parse_symbols (const char* syms); -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#include /**/ "ace/post.h" -#endif /* TAO_EC_THREAD_FLAGS_H */ |