OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
osg::OperationQueue Class Reference

#include <OperationThread.h>

Inheritance diagram for osg::OperationQueue:
Inheritance graph
[legend]
Collaboration diagram for osg::OperationQueue:
Collaboration graph
[legend]

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 threadSafe)
 
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 setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Detailed Description

Definition at line 94 of file OperationThread.h.

Member Typedef Documentation

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

Definition at line 146 of file OperationThread.h.

Definition at line 132 of file OperationThread.h.

Constructor & Destructor Documentation

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

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.

Definition at line 135 of file OperationThread.h.

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

Definition at line 141 of file OperationThread.h.

Member Data Documentation

Operations::iterator osg::OperationQueue::_currentOperationIterator
protected

Definition at line 151 of file OperationThread.h.

Operations osg::OperationQueue::_operations
protected

Definition at line 150 of file OperationThread.h.

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

Definition at line 149 of file OperationThread.h.

OpenThreads::Mutex osg::OperationQueue::_operationsMutex
protected

Definition at line 148 of file OperationThread.h.

OperationThreads osg::OperationQueue::_operationThreads
protected

Definition at line 153 of file OperationThread.h.


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