GSI Object Oriented Online Offline (Go4)  GO4-6.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TGo4Queue Class Reference

#include <TGo4Queue.h>

+ Inheritance diagram for TGo4Queue:

Public Member Functions

 TGo4Queue (const char *name=0)
 
virtual ~TGo4Queue ()
 
virtual void Clear (Option_t *opt="")
 
virtual void Wake ()
 
Bool_t IsEmpty ()
 
Int_t GetEntries () const
 
void SetMaxEntries (Int_t max)
 

Protected Member Functions

TObject * Next ()
 
TObject * Wait ()
 
void Add (TObject *ob)
 

Private Attributes

TMutex * fxMutex
 
TCondition * fxCondition
 
TList * fxList
 
Int_t fiEntries
 
Int_t fiMaxEntries
 
Bool_t fbWakeUpCall
 

Detailed Description

Base class for all threadsafe pointer queues. TObject pointers are transported in queue without streaming. Subclasses may specialize the behaviour on adding and waiting.

Author
J. Adamczewski
Since
13-Jul-2001

Definition at line 31 of file TGo4Queue.h.

Constructor & Destructor Documentation

TGo4Queue::TGo4Queue ( const char *  name = 0)

Definition at line 23 of file TGo4Queue.cxx.

References fxCondition, fxList, and fxMutex.

TGo4Queue::~TGo4Queue ( )
virtual

Definition at line 34 of file TGo4Queue.cxx.

References fxCondition, fxList, and fxMutex.

Member Function Documentation

void TGo4Queue::Add ( TObject *  ob)
protected
void TGo4Queue::Clear ( Option_t *  opt = "")
virtual

Reimplemented in TGo4BufferQueue.

Definition at line 44 of file TGo4Queue.cxx.

References fxList, and fxMutex.

Referenced by TGo4TaskHandler::ClearQueues(), and TGo4ClientTask::DisconnectServer().

Int_t TGo4Queue::GetEntries ( ) const
inline

Definition at line 43 of file TGo4Queue.h.

References fiEntries.

Bool_t TGo4Queue::IsEmpty ( )
TObject * TGo4Queue::Next ( )
protected

Definition at line 63 of file TGo4Queue.cxx.

References fxList, and fxMutex.

Referenced by TGo4BufferQueue::Clear(), and Wait().

void TGo4Queue::SetMaxEntries ( Int_t  max)
inline

Definition at line 45 of file TGo4Queue.h.

References fiMaxEntries.

Referenced by TGo4TaskHandler::TGo4TaskHandler().

TObject * TGo4Queue::Wait ( )
protected

Definition at line 50 of file TGo4Queue.cxx.

References fbWakeUpCall, fxCondition, IsEmpty(), and Next().

Referenced by TGo4BufferQueue::WaitBuffer(), and TGo4ObjectQueue::WaitObject().

void TGo4Queue::Wake ( )
virtual

Definition at line 90 of file TGo4Queue.cxx.

References fbWakeUpCall, and fxCondition.

Referenced by TGo4TaskHandler::StopTransportThreads().

Member Data Documentation

Bool_t TGo4Queue::fbWakeUpCall
private

Definition at line 58 of file TGo4Queue.h.

Referenced by Wait(), and Wake().

Int_t TGo4Queue::fiEntries
private

Definition at line 56 of file TGo4Queue.h.

Referenced by GetEntries().

Int_t TGo4Queue::fiMaxEntries
private

Definition at line 57 of file TGo4Queue.h.

Referenced by Add(), and SetMaxEntries().

TCondition* TGo4Queue::fxCondition
private

Definition at line 54 of file TGo4Queue.h.

Referenced by Add(), TGo4Queue(), Wait(), Wake(), and ~TGo4Queue().

TList* TGo4Queue::fxList
private

Definition at line 55 of file TGo4Queue.h.

Referenced by Add(), Clear(), IsEmpty(), Next(), TGo4Queue(), and ~TGo4Queue().

TMutex* TGo4Queue::fxMutex
private

Definition at line 53 of file TGo4Queue.h.

Referenced by Add(), Clear(), IsEmpty(), Next(), TGo4Queue(), and ~TGo4Queue().


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