PTLib  Version 2.18.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSync Class Referenceabstract

#include <psync.h>

Inheritance diagram for PSync:
Collaboration diagram for PSync:

Public Member Functions

 PSync ()
 
Operations
virtual void Wait ()=0
 Block until the synchronisation object is available. More...
 
virtual PBoolean Wait (const PTimeInterval &timeout)=0
 Block, for a time, until the synchronisation object is available. More...
 
virtual bool InstrumentedWait (const PTimeInterval &timeout, const PDebugLocation &)
 As for Wait() but with location of call for instrumentation. Mostly used internally. More...
 
virtual void Signal ()=0
 Signal that the synchronisation object is available. More...
 
virtual void InstrumentedSignal (const PDebugLocation &)
 As for Signal() but with location of call for instrumentation. Mostly used internally. More...
 
- Public Member Functions inherited from PObject
__inline unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
__inline void SetTraceContextIdentifier (unsigned id)
 
__inline void SetTraceContextIdentifier (const PObject &obj)
 
__inline void SetTraceContextIdentifier (const PObject *obj)
 
__inline void CopyTraceContextIdentifier (PObject &obj) const
 
__inline void CopyTraceContextIdentifier (PObject *obj) const
 
virtual ~PObject ()
 
__inline const char * GetClass () const
 
__inline bool IsClass (const char *name) const
 
__inline const PObjectPTraceObjectInstance () const
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Static Public Member Functions inherited from PObject
static __inline void CopyTraceContextIdentifier (PObject &to, const PObject &from)
 
static __inline void CopyTraceContextIdentifier (PObject &to, const PObject *from)
 
static __inline void CopyTraceContextIdentifier (PObject *to, const PObject &from)
 
static __inline void CopyTraceContextIdentifier (PObject *to, const PObject *from)
 
static __inline const char * Class ()
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
template<typename T >
static Comparison Compare2 (T v1, T v2)
 Compare two types, returning Comparison type. More...
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

Constructor & Destructor Documentation

PSync::PSync ( )
inline

Member Function Documentation

virtual void PSync::InstrumentedSignal ( const PDebugLocation )
inlinevirtual

As for Signal() but with location of call for instrumentation. Mostly used internally.

References Signal().

virtual bool PSync::InstrumentedWait ( const PTimeInterval timeout,
const PDebugLocation  
)
inlinevirtual

As for Wait() but with location of call for instrumentation. Mostly used internally.

References Wait().

virtual void PSync::Signal ( )
pure virtual

Signal that the synchronisation object is available.

Implemented in PCriticalSection, PTimedMutex, PSemaphore, PCondMutex, PSyncNULL, PSyncPoint, and PSyncPointAck.

Referenced by InstrumentedSignal(), and PWaitAndSignal::~PWaitAndSignal().

virtual void PSync::Wait ( )
pure virtual

Block until the synchronisation object is available.

Implemented in PCriticalSection, PTimedMutex, PSemaphore, PSyncNULL, and PSyncPoint.

Referenced by InstrumentedWait(), and PWaitAndSignal::PWaitAndSignal().

virtual PBoolean PSync::Wait ( const PTimeInterval timeout)
pure virtual

Block, for a time, until the synchronisation object is available.

Returns
true if lock is acquired, false if timed out

Implemented in PCriticalSection, PTimedMutex, PSemaphore, PSyncNULL, and PSyncPoint.


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