osg::OperationQueue Class Reference

Inheritance diagram for osg::OperationQueue:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::set
< OperationThread * > 
OperationThreads

Public Member Functions

 OperationQueue ()
osg::ref_ptr< OperationgetNextOperation (bool blockIfEmpty=false)
 Get the next operation from the operation queue.
bool empty () const
 Return true if the operation queue is empty.
void add (Operation *operation)
 Add operation to end of OperationQueue, this will be executed by the operation thread once this operation gets to the head of the queue.
void remove (Operation *operation)
 Remove operation from OperationQueue.
void remove (const std::string &name)
 Remove named operation from OperationQueue.
void removeAllOperations ()
 Remove all operations from OperationQueue.
void runOperations (Object *callingObject=0)
 Run the operations.
void releaseAllOperations ()
 Call release on all operations.
void releaseOperationsBlock ()
 Release operations block that is used to block threads that are waiting on an empty operations queue.
const OperationThreadsgetOperationThreads () const
 Get the set of OperationThreads that are sharing this OperationQueue.

Protected Types

typedef std::list
< osg::ref_ptr
< Operation > > 
Operations

Protected Member Functions

virtual ~OperationQueue ()
void addOperationThread (OperationThread *thread)
void removeOperationThread (OperationThread *thread)

Protected Attributes

OpenThreads::Mutex _operationsMutex
osg::ref_ptr
< osg::RefBlock
_operationsBlock
Operations _operations
Operations::iterator _currentOperationIterator
OperationThreads _operationThreads

Friends

class OperationThread


Member Typedef Documentation

typedef std::set<OperationThread*> osg::OperationQueue::OperationThreads

typedef std::list< osg::ref_ptr<Operation> > osg::OperationQueue::Operations [protected]


Constructor & Destructor Documentation

osg::OperationQueue::OperationQueue (  ) 

virtual osg::OperationQueue::~OperationQueue (  )  [protected, virtual]


Member Function Documentation

osg::ref_ptr<Operation> osg::OperationQueue::getNextOperation ( bool  blockIfEmpty = false  ) 

Get the next operation from the operation queue.

Return null ref_ptr<> if no operations are left in queue.

bool osg::OperationQueue::empty (  )  const [inline]

Return true if the operation queue is empty.

void osg::OperationQueue::add ( Operation operation  ) 

Add operation to end of OperationQueue, this will be executed by the operation thread once this operation gets to the head of the queue.

void osg::OperationQueue::remove ( Operation operation  ) 

Remove operation from OperationQueue.

void osg::OperationQueue::remove ( const std::string &  name  ) 

Remove named operation from OperationQueue.

void osg::OperationQueue::removeAllOperations (  ) 

Remove all operations from OperationQueue.

void osg::OperationQueue::runOperations ( Object callingObject = 0  ) 

Run the operations.

void osg::OperationQueue::releaseAllOperations (  ) 

Call release on all operations.

void osg::OperationQueue::releaseOperationsBlock (  ) 

Release operations block that is used to block threads that are waiting on an empty operations queue.

const OperationThreads& osg::OperationQueue::getOperationThreads (  )  const [inline]

Get the set of OperationThreads that are sharing this OperationQueue.

void osg::OperationQueue::addOperationThread ( OperationThread thread  )  [protected]

void osg::OperationQueue::removeOperationThread ( OperationThread thread  )  [protected]


Friends And Related Function Documentation

friend class OperationThread [friend]


Member Data Documentation

OpenThreads::Mutex osg::OperationQueue::_operationsMutex [protected]

osg::ref_ptr<osg::RefBlock> osg::OperationQueue::_operationsBlock [protected]

Operations osg::OperationQueue::_operations [protected]

Operations::iterator osg::OperationQueue::_currentOperationIterator [protected]

OperationThreads osg::OperationQueue::_operationThreads [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:13 2007 for the OpenSceneGraph by doxygen 1.5.3.