OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
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 ()
 Return true if the operation queue is empty.
unsigned int getNumOperationsInQueue ()
 Return the num of pending operations that are sitting in the OperationQueue.
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::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 ( )

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 ( )

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 ( 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::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]
OpenThreads::Mutex osg::OperationQueue::_operationsMutex [protected]

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

osg logo
Generated at Mon Oct 3 2011 12:39:43 for the OpenSceneGraph by doxygen 1.7.5.