#include <wefts_coffee_unix.h>
Inheritance diagram for Wefts::OSFileFuncUnix:
Public Methods | |
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) |
Creates the file. | |
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) |
Read data from the underlying file. | |
virtual file_size_t | write (void *buffer, const file_size_t len) |
Write data to the underlying file Application should not rely on osError() if the function retunrs a vaild number. | |
virtual file_size_t | seek (const file_size_t position, const SeekWhence swFrom=SW_FROM_BEGIN) |
Change the position in the file. | |
virtual CffStatus | close () |
virtual void | setStdIn () |
virtual void | setStdOut () |
virtual void | setStdErr () |
Protected Methods | |
bool | waitForWrite () |
bool | waitForRead () |
Protected Attributes | |
int | m_fd |
|
|
|
Implements Wefts::OSFileFuncBase. |
|
Creates the file. The create-lock parameter is provided because some systems may not allow to lock the file after the create step (the lock politic must be chosen at open time). The timeout is provided because the file may be located on a network disk, or a COFFEE implementation may use a network protocol as underlying layer. It is theoretically possible to provide a COFFEE for FTP. Anyhow, a reasonable timeout may also protect against program deadlocks due to local filesystem failure on systems that do not provide a prompt error diagniostic. File is always created with read-write access from the creator, and it can be locked against concurrent access from other processes. By default, the timeout is not set; to set a given timeout, use the setTimeout() method.
Implements Wefts::OSFileFuncBase. |
|
To get the descriptor, pass a pointer to an integer where the descriptor will be placed.
Implements Wefts::OSFileFuncBase. |
|
Unix layer COFFEE function to open a file It opens a single file using the specified mode.
Implements Wefts::OSFileFuncBase. |
|
Read data from the underlying file. Application should not rely on osError() if the function retunrs a vaild number. file_size_t is the longest integer type provided by the platform.
Implements Wefts::OSFileFuncBase. |
|
Change the position in the file. Must return current position after change, so that seek( 0, SW_FROM_END ) return the current file length (that is one past last byte).
Implements Wefts::OSFileFuncBase. |
|
To set the descriptor, pass a pointer to the integer.
Implements Wefts::OSFileFuncBase. |
|
Implements Wefts::OSFileFuncBase. |
|
Implements Wefts::OSFileFuncBase. |
|
Implements Wefts::OSFileFuncBase. |
|
|
|
|
|
Write data to the underlying file Application should not rely on osError() if the function retunrs a vaild number. file_size_t is the longest integer type provided by the platform.
Implements Wefts::OSFileFuncBase. |
|
|