TAO_RTEvent  2.2.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
TAO_EC_Thread_Flags Class Reference

Parse thread flags from string to a long. More...

#include <EC_Thread_Flags.h>

Collaboration diagram for TAO_EC_Thread_Flags:
Collaboration graph

Classes

struct  Supported_Flag
 

Public Member Functions

 TAO_EC_Thread_Flags ()
 
 TAO_EC_Thread_Flags (const char *symbolic_flags)
 See operator=() More...
 
 ~TAO_EC_Thread_Flags ()
 
const TAO_EC_Thread_Flagsoperator= (const char *symbolic_flags)
 Assign a new set of symbolic flags, setting flags, scope, and sched as possible. More...
 
long flags () const
 Returns numeric equivalent of the thread flags suitable for passing to ACE_Task::activate. More...
 
long scope () const
 Returns value of THR_SCOPE_* used, or zero if unknown. More...
 
long sched () const
 Returns value of THR_SCHED_* used, or zero if unknown. More...
 
 operator long () const
 Synonym for flags(), i.e., syntactic sugar. More...
 
long default_priority () const
 Return an acceptable default priority for the scheduler returned by sched(). More...
 

Static Public Attributes

static Supported_Flag supported_flags_ []
 

Protected Member Functions

void parse_symbols (const char *syms)
 Value of THR_SCHED_*. More...
 

Protected Attributes

long flags_
 
long scope_
 Value of all flags OR'd together. More...
 
long sched_
 Value of THR_SCOPE_*. More...
 

Detailed Description

Parse thread flags from string to a long.

Encapsulate flags used for creating threads with ACE_OS::thr_create and 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.

This should really be part of ACE or ACE_OS, and maybe someday it will, but right now it's not.

Constructor & Destructor Documentation

TAO_EC_Thread_Flags::TAO_EC_Thread_Flags ( )
inline
TAO_EC_Thread_Flags::TAO_EC_Thread_Flags ( const char *  symbolic_flags)
inline
TAO_EC_Thread_Flags::~TAO_EC_Thread_Flags ( )

Member Function Documentation

long TAO_EC_Thread_Flags::default_priority ( ) const

Return an acceptable default priority for the scheduler returned by sched().

Returns
the priority, or ACE_DEFAULT_THREAD_PRIORITY if the scheduler is unknown.
long TAO_EC_Thread_Flags::flags ( void  ) const
inline

Returns numeric equivalent of the thread flags suitable for passing to ACE_Task::activate.

TAO_EC_Thread_Flags::operator long ( ) const
inline

Synonym for flags(), i.e., syntactic sugar.

const TAO_EC_Thread_Flags& TAO_EC_Thread_Flags::operator= ( const char *  symbolic_flags)
inline

Assign a new set of symbolic flags, setting flags, scope, and 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.

See Also
TAO_EC_Thread_Flags::supported_flags
Note
The sched value only gets set if the scheduler is specified using symbols.
void TAO_EC_Thread_Flags::parse_symbols ( const char *  syms)
protected

Value of THR_SCHED_*.

long TAO_EC_Thread_Flags::sched ( ) const
inline

Returns value of THR_SCHED_* used, or zero if unknown.

long TAO_EC_Thread_Flags::scope ( ) const
inline

Returns value of THR_SCOPE_* used, or zero if unknown.

Member Data Documentation

long TAO_EC_Thread_Flags::flags_
protected
long TAO_EC_Thread_Flags::sched_
protected

Value of THR_SCOPE_*.

long TAO_EC_Thread_Flags::scope_
protected

Value of all flags OR'd together.

TAO_EC_Thread_Flags::Supported_Flag TAO_EC_Thread_Flags::supported_flags_
static
Initial value:
= {
}

The documentation for this class was generated from the following files: