
Public Types | |
| typedef std::set < OperationThread * > | OperationThreads |
Public Member Functions | |
| OperationQueue () | |
| osg::ref_ptr< Operation > | getNextOperation (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 OperationThreads & | getOperationThreads () 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 |
| typedef std::set<OperationThread*> osg::OperationQueue::OperationThreads |
typedef std::list< osg::ref_ptr<Operation> > osg::OperationQueue::Operations [protected] |
| osg::OperationQueue::OperationQueue | ( | ) |
| virtual osg::OperationQueue::~OperationQueue | ( | ) | [protected, virtual] |
| 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] |
friend class OperationThread [friend] |
OpenThreads::Mutex osg::OperationQueue::_operationsMutex [protected] |
Operations osg::OperationQueue::_operations [protected] |
Operations::iterator osg::OperationQueue::_currentOperationIterator [protected] |