Classes | Public Member Functions | Protected Member Functions | Protected Attributes

zeus::TCommPipe Class Reference

#include <CommPipe.h>

Inheritance diagram for zeus::TCommPipe:
zeus::TAbstractRemoteObject zeus::IOwnCommPipe zeus::TZObject zeus::IRemoteObject zeus::ICommPipe zeus::IZUnknown zeus::IZUnknown zeus::IZUnknown zeus::TMappedCommPipe

List of all members.

Classes

class  TPipeContainer

Public Member Functions

 TCommPipe (const TString &rName, bool bBlocking=false)
 TCommPipe (Uint uiPriority, const TString &rName, bool bBlocking=false)
virtual Retval MQUALIFIER sendMessage (IMessage &rMessage)
virtual void MQUALIFIER getPipeName (IString &rName) const
virtual Uint MQUALIFIER getPriority () const
virtual bool MQUALIFIER isLocked () const
virtual bool MQUALIFIER hasRemoteAccess () const
virtual void MQUALIFIER lock ()
virtual void MQUALIFIER unlock ()
virtual void MQUALIFIER flush ()
virtual Retval MQUALIFIER getMessage (IMessage *&rpMessage)
virtual Retval MQUALIFIER peekMessage (IMessage *&rpMessage)
virtual bool MQUALIFIER isEmpty () const
virtual Int MQUALIFIER getCount () const
virtual REMOTE_OBJECT_DECL
Retval MQUALIFIER 
askForInterface (const InterfaceID &rInterfaceID, IZUnknown *&rpIface)
virtual void MQUALIFIER addRef () const
virtual void MQUALIFIER release () const

Protected Member Functions

virtual ~TCommPipe ()

Protected Attributes

TPipeContainerm_pHeadElement
 Points to head of FIFO.
TPipeContainerm_pTailElement
 Points to end of FIFO.
TCriticalSectionm_rLock
 thread access safe look of FIFO
TSemaphorem_pSemaphore
 Semaphore to block pending thread.

Detailed Description

The communication pipe implements a FIFO pipe with additional features like place a urgent meassage at head position of FIFO or blocking pending thread characteristic.


Constructor & Destructor Documentation

TCommPipe::TCommPipe ( const TString rName,
bool  bBlocking = false 
)

Creates a new communication pipe

Parameters:
rName: Name of the pipe
TCommPipe::TCommPipe ( Uint  uiPriority,
const TString rName,
bool  bBlocking = false 
)

Creates a new communication pipe with defined priority

Parameters:
uiPriority: Priority of queue
rName: Name of the pipe
TCommPipe::~TCommPipe (  ) [protected, virtual]

Destroys the pipe object


Member Function Documentation

virtual void MQUALIFIER zeus::TCommPipe::addRef (  ) const [virtual]
See also:
IZUnknown::addRef

Reimplemented from zeus::TAbstractRemoteObject.

virtual REMOTE_OBJECT_DECL Retval MQUALIFIER zeus::TCommPipe::askForInterface ( const InterfaceID rInterfaceID,
IZUnknown *&  rpIface 
) [virtual]
void MQUALIFIER TCommPipe::flush (  ) [virtual]

Flushes the pipe

Implements zeus::IOwnCommPipe.

Reimplemented in zeus::TMappedCommPipe.

Int MQUALIFIER zeus::TCommPipe::getCount (  ) const [inline, virtual]

Returns the size of the pipe

Returns:
size

Implements zeus::IOwnCommPipe.

Retval MQUALIFIER TCommPipe::getMessage ( IMessage *&  rpMessage ) [virtual]
See also:
IOwnCommPipe::getMessage

Implements zeus::IOwnCommPipe.

Reimplemented in zeus::TMappedCommPipe.

void MQUALIFIER zeus::TCommPipe::getPipeName ( IString rName ) const [inline, virtual]
Uint MQUALIFIER zeus::TCommPipe::getPriority (  ) const [inline, virtual]
bool MQUALIFIER zeus::TCommPipe::hasRemoteAccess (  ) const [inline, virtual]

Checks if the remote access of a pipe is available

Implements zeus::ICommPipe.

bool MQUALIFIER zeus::TCommPipe::isEmpty (  ) const [inline, virtual]

Checks if the pipe is empty

Return values:
true,:Pipe is empty
false: Pipe is not empty

Implements zeus::IOwnCommPipe.

bool MQUALIFIER zeus::TCommPipe::isLocked (  ) const [inline, virtual]
See also:
ICommPipe::isLocked

Implements zeus::ICommPipe.

void MQUALIFIER zeus::TCommPipe::lock (  ) [inline, virtual]
See also:
ICommpipe::lock

Implements zeus::IOwnCommPipe.

Retval MQUALIFIER TCommPipe::peekMessage ( IMessage *&  rpMessage ) [virtual]
virtual void MQUALIFIER zeus::TCommPipe::release (  ) const [virtual]
See also:
IZUnknown::release

Reimplemented from zeus::TAbstractRemoteObject.

Retval MQUALIFIER TCommPipe::sendMessage ( IMessage rMessage ) [virtual]
See also:
ICommPipe::sendMessage

Implements zeus::ICommPipe.

Reimplemented in zeus::TMappedCommPipe.

void MQUALIFIER zeus::TCommPipe::unlock (  ) [inline, virtual]
See also:
ICommpipe::unlock

Implements zeus::IOwnCommPipe.


Member Data Documentation

Points to head of FIFO.

Semaphore to block pending thread.

Points to end of FIFO.

thread access safe look of FIFO


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:24