openscenegraph
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 ()
unsigned int getNumOperationsInQueue ()
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

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

Member Function Documentation

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

Return true if the operation queue is empty.

Get the next operation from the operation queue. Return null ref_ptr<> if no operations are left in queue.

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

Get the set of OperationThreads that are sharing this OperationQueue.

Call release on all operations.

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

Remove operation from OperationQueue.

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

Remove named operation from OperationQueue.

Remove all operations from OperationQueue.

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: