Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends

osg::OperationQueue Class Reference

Inheritance diagram for osg::OperationQueue:
osg::Referenced

List of all members.

Public Types

typedef std::set
< OperationThread * > 
OperationThreads

Public Member Functions

 OperationQueue ()
osg::ref_ptr< OperationgetNextOperation (bool blockIfEmpty=false)
bool empty () const
unsigned int getNumOperationsInQueue () const
void add (Operation *operation)
void remove (Operation *operation)
void remove (const std::string &name)
void removeAllOperations ()
void runOperations (Object *callingObject=0)
void releaseAllOperations ()
void releaseOperationsBlock ()
const OperationThreadsgetOperationThreads () const

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::list< osg::ref_ptr<Operation> > osg::OperationQueue::Operations [protected]

Constructor & Destructor Documentation

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

Member Function Documentation

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::addOperationThread ( OperationThread thread  )  [protected]
bool osg::OperationQueue::empty (  )  const [inline]

Return true if the operation queue is empty.

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.

unsigned int osg::OperationQueue::getNumOperationsInQueue (  )  const [inline]

Return the num of pending operations that are sitting in the OperationQueue.

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

Get the set of OperationThreads that are sharing this OperationQueue.

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.

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

Remove named operation from OperationQueue.

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

Remove operation from OperationQueue.

void osg::OperationQueue::removeAllOperations (  ) 

Remove all operations from OperationQueue.

void osg::OperationQueue::removeOperationThread ( OperationThread thread  )  [protected]
void osg::OperationQueue::runOperations ( Object callingObject = 0  ) 

Run the operations.


Friends And Related Function Documentation

friend class OperationThread [friend]

Member Data Documentation

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

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