Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Wefts::OSFileFuncUnix Class Reference
[OS Cooperative File Function Extended Enviroment]

OS COFFEE Unix implementation. More...

#include <wefts_coffee_unix.h>

Inheritance diagram for Wefts::OSFileFuncUnix:

Inheritance graph
[legend]
Collaboration diagram for Wefts::OSFileFuncUnix:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OSFileFuncUnix (void *descriptor=0)
virtual CffStatus open (std::string filespec, OpenMode openMode=OM_RO, LockMode lockMode=LM_SHARED)
 Unix layer COFFEE function to open a file It opens a single file using the specified mode.

virtual CffStatus create (std::string filespec, CreateMode cMode=CM_ARCHIVE, LockMode lockMode=LM_EXCLUSIVE)
virtual void getDescriptor (void *data) const
 To get the descriptor, pass a pointer to an integer where the descriptor will be placed.

virtual void setDescriptor (void *data)
 To set the descriptor, pass a pointer to the integer.

virtual file_size_t read (void *buffer, const file_size_t len)
virtual file_size_t write (void *buffer, const file_size_t len)
virtual file_size_t seek (const file_size_t position, const SeekWhence swFrom=SW_FROM_BEGIN)
virtual CffStatus close ()
virtual void setStdIn ()
virtual void setStdOut ()
virtual void setStdErr ()

Protected Member Functions

bool waitForWrite ()
bool waitForRead ()

Protected Attributes

int m_fd

Detailed Description

OS COFFEE Unix implementation.

This class implements Cooperative File Functions under unix enviroments.

Unix is usually very cooperative towards threading, and this means that calls inside this class are usually very simple inline calls to unix system calls.

You can access this class with the typedef OSFileFunc.

See also:
How to use OS Cooperative File Function Extended Environment layer


Constructor & Destructor Documentation

Wefts::OSFileFuncUnix::OSFileFuncUnix void *  descriptor = 0  )  [inline]
 


Member Function Documentation

CffStatus Wefts::OSFileFuncUnix::close  )  [virtual]
 

Implements Wefts::OSFileFuncBase.

CffStatus Wefts::OSFileFuncUnix::create std::string  filespec,
CreateMode  cMode = CM_ARCHIVE,
LockMode  lockMode = LM_EXCLUSIVE
[virtual]
 

Implements Wefts::OSFileFuncBase.

virtual void Wefts::OSFileFuncUnix::getDescriptor void *  data  )  const [inline, virtual]
 

To get the descriptor, pass a pointer to an integer where the descriptor will be placed.

Implements Wefts::OSFileFuncBase.

CffStatus Wefts::OSFileFuncUnix::open std::string  filespec,
OpenMode  openMode = OM_RO,
LockMode  lockMode = LM_SHARED
[virtual]
 

Unix layer COFFEE function to open a file It opens a single file using the specified mode.

Implements Wefts::OSFileFuncBase.

file_size_t Wefts::OSFileFuncUnix::read void *  buffer,
const file_size_t  len
[virtual]
 

Implements Wefts::OSFileFuncBase.

file_size_t Wefts::OSFileFuncUnix::seek const file_size_t  position,
const SeekWhence  swFrom = SW_FROM_BEGIN
[virtual]
 

Implements Wefts::OSFileFuncBase.

virtual void Wefts::OSFileFuncUnix::setDescriptor void *  data  )  [inline, virtual]
 

To set the descriptor, pass a pointer to the integer.

Implements Wefts::OSFileFuncBase.

virtual void Wefts::OSFileFuncUnix::setStdErr  )  [inline, virtual]
 

Implements Wefts::OSFileFuncBase.

virtual void Wefts::OSFileFuncUnix::setStdIn  )  [inline, virtual]
 

Implements Wefts::OSFileFuncBase.

virtual void Wefts::OSFileFuncUnix::setStdOut  )  [inline, virtual]
 

Implements Wefts::OSFileFuncBase.

bool Wefts::OSFileFuncUnix::waitForRead  )  [inline, protected]
 

bool Wefts::OSFileFuncUnix::waitForWrite  )  [inline, protected]
 

file_size_t Wefts::OSFileFuncUnix::write void *  buffer,
const file_size_t  len
[virtual]
 

Implements Wefts::OSFileFuncBase.


Member Data Documentation

int Wefts::OSFileFuncUnix::m_fd [protected]
 


The documentation for this class was generated from the following files:
Generated on Sat Mar 13 21:05:44 2004 for Wefts by doxygen 1.3.5