osg::OperationQueue Class Reference

`#include <OperationThread>`

Inheritance diagram for osg::OperationQueue:

## Public Types

typedef std::set< OperationThread * > | OperationThreads

## Public Member Functions

| OperationQueue ()
osg::ref_ptr< Operation > | getNextOperation (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 OperationThreads & | getOperationThreads () const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) 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 Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

OpenThreads::Mutex | _operationsMutex
osg::ref_ptr< osg::RefBlock > | _operationsBlock
Operations | _operations
Operations::iterator | _currentOperationIterator
OperationThreads | _operationThreads
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Friends

class | OperationThread

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Member Typedef Documentation

## Operations

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

protected

## OperationThreads

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

## Constructor & Destructor Documentation

## OperationQueue()

osg::OperationQueue::OperationQueue | ( |  | ) |

## ~OperationQueue()

virtual osg::OperationQueue::~OperationQueue | ( |  | ) |

protected virtual

## Member Function Documentation

## add()

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.

## addOperationThread()

void osg::OperationQueue::addOperationThread | ( | OperationThread * | thread | ) |

protected

References OperationThread.

## empty()

bool osg::OperationQueue::empty | ( |  | ) |

Return true if the operation queue is empty.

## getNextOperation()

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.

## getNumOperationsInQueue()

unsigned int osg::OperationQueue::getNumOperationsInQueue | ( |  | ) |

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

## getOperationThreads()

const OperationThreads & osg::OperationQueue::getOperationThreads | ( |  | ) | const

inline

Get the set of OperationThreads that are sharing this OperationQueue.

References _operationThreads.

## releaseAllOperations()

void osg::OperationQueue::releaseAllOperations | ( |  | ) |

Call release on all operations.

## releaseOperationsBlock()

void osg::OperationQueue::releaseOperationsBlock | ( |  | ) |

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

## remove() [1/2]

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

Remove named operation from OperationQueue.

## remove() [2/2]

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

Remove operation from OperationQueue.

## removeAllOperations()

void osg::OperationQueue::removeAllOperations | ( |  | ) |

Remove all operations from OperationQueue.

## removeOperationThread()

void osg::OperationQueue::removeOperationThread | ( | OperationThread * | thread | ) |

protected

References OperationThread.

## runOperations()

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

Run the operations.

## Friends And Related Symbol Documentation

## OperationThread

friend class OperationThread

friend

References OperationThread.

Referenced by addOperationThread(), OperationThread, and removeOperationThread().

## Member Data Documentation

## _currentOperationIterator

Operations::iterator osg::OperationQueue::_currentOperationIterator

protected

## _operations

Operations osg::OperationQueue::_operations

protected

## _operationsBlock

osg::ref_ptr<osg::RefBlock> osg::OperationQueue::_operationsBlock

protected

## _operationsMutex

OpenThreads::Mutex osg::OperationQueue::_operationsMutex

protected

## _operationThreads

OperationThreads osg::OperationQueue::_operationThreads

protected

Referenced by getOperationThreads().

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

- OperationThread