MAK RTIspy API Documentation for HLA 1.3
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
vrlmod::DtThreadedObject Class Reference
+ Collaboration diagram for vrlmod::DtThreadedObject:

Public Member Functions

 DtThreadedObject ()
 Constructor, pass it owner ship of a MAKRti::DtThreadable object.
 DtThreadedObject (DtRunnableSP ptr)
 Constructor, pass it owner ship of a MAKRti::DtThreadable object.
virtual ~DtThreadedObject ()
void start ()
 Starts the thread running, calls its MAKRti::DtThreadable run method A thread can be started again if it is finished running.
void join ()
 Block the current thread until the threaded object stops running.
void stop (bool block)
 Signal the object to stop, it may not respond Optionally block execution until it stops Calls the MAKRti::DtThreadable run method.
bool running () const
 Is the thread running.
void setRunnableObject (DtRunnableSP newObject)
 Set the runnable object to be run.
DtRunnableSP runnableObject () const
 Gets the runnable object.

Protected Member Functions

 DtThreadedObject (const DtThreadedObject &)
 Make Non-copiable.
DtThreadedObjectoperator= (const DtThreadedObject &)
void setRunning (bool value)
 Change the running state.

Protected Attributes

bool myRunningFlag
DtRunnableSP myObject
MAKRti::DtThread * myThread
MAKRti::DtMutex myMutex

Constructor & Destructor Documentation

vrlmod::DtThreadedObject::DtThreadedObject ( )

Constructor, pass it owner ship of a MAKRti::DtThreadable object.

Warning
setRunnableObject must be called before starting.
vrlmod::DtThreadedObject::DtThreadedObject ( DtRunnableSP  ptr)

Constructor, pass it owner ship of a MAKRti::DtThreadable object.

Exceptions
DtInvalidInput
vrlmod::DtThreadedObject::~DtThreadedObject ( )
virtual
Warning
destructor calls blocking function: stop(true)

References join(), myThread, running(), and stop().

vrlmod::DtThreadedObject::DtThreadedObject ( const DtThreadedObject )
protected

Make Non-copiable.

Member Function Documentation

void vrlmod::DtThreadedObject::join ( )

Block the current thread until the threaded object stops running.

Exceptions
DtThreadNotStarted

References myThread, running(), and setRunning().

Referenced by ~DtThreadedObject().

DtThreadedObject& vrlmod::DtThreadedObject::operator= ( const DtThreadedObject )
protected
DtRunnableSP vrlmod::DtThreadedObject::runnableObject ( ) const

Gets the runnable object.

References myMutex, and myObject.

bool vrlmod::DtThreadedObject::running ( ) const

Is the thread running.

References myMutex, and myRunningFlag.

Referenced by join(), setRunnableObject(), start(), stop(), and ~DtThreadedObject().

void vrlmod::DtThreadedObject::setRunnableObject ( DtRunnableSP  newObject)

Set the runnable object to be run.

Exceptions
DtThreadAlreadyRunning

References myMutex, myObject, and running().

void vrlmod::DtThreadedObject::setRunning ( bool  value)
protected

Change the running state.

References myMutex, and myRunningFlag.

Referenced by join(), start(), and stop().

void vrlmod::DtThreadedObject::start ( )

Starts the thread running, calls its MAKRti::DtThreadable run method A thread can be started again if it is finished running.

Exceptions
DtInvalidInput
DtThreadAlreadyRunning
DtThreadNotStarted

References DtTHROW_PROPAGATE, myMutex, myObject, myThread, running(), and setRunning().

Referenced by DtFedExec::createDistributor().

void vrlmod::DtThreadedObject::stop ( bool  block)

Signal the object to stop, it may not respond Optionally block execution until it stops Calls the MAKRti::DtThreadable run method.

References myMutex, myThread, running(), and setRunning().

Referenced by DtFedExec::destroyDistributor(), and ~DtThreadedObject().

Member Data Documentation

MAKRti::DtMutex vrlmod::DtThreadedObject::myMutex
mutableprotected
DtRunnableSP vrlmod::DtThreadedObject::myObject
protected
bool vrlmod::DtThreadedObject::myRunningFlag
protected

Referenced by running(), and setRunning().

MAKRti::DtThread* vrlmod::DtThreadedObject::myThread
protected

Referenced by join(), start(), stop(), and ~DtThreadedObject().


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

Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)