openscenegraph
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
osg::OperationQueue Class Reference

#include <OperationThread>

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

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
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () 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::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Member Typedef Documentation

◆ Operations

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

◆ OperationThreads

Constructor & Destructor Documentation

◆ OperationQueue()

osg::OperationQueue::OperationQueue ( )

◆ ~OperationQueue()

virtual osg::OperationQueue::~OperationQueue ( )
protectedvirtual

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

◆ 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.

◆ 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

◆ runOperations()

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

Run the operations.

Friends And Related Symbol Documentation

◆ OperationThread

friend class OperationThread
friend

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

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