#include <yateclass.h>
Inheritance diagram for File:
Public Member Functions | |
File () | |
File (HANDLE handle) | |
virtual | ~File () |
virtual bool | openPath (const char *name, bool canWrite=false, bool canRead=true, bool create=false, bool append=false, bool binary=false) |
virtual bool | terminate () |
void | attach (HANDLE handle) |
HANDLE | detach () |
HANDLE | handle () const |
virtual bool | canRetry () const |
virtual bool | valid () const |
virtual bool | setBlocking (bool block=true) |
virtual unsigned int | length () |
virtual int | writeData (const void *buffer, int length) |
virtual int | readData (void *buffer, int length) |
Static Public Member Functions | |
static HANDLE | invalidHandle () |
static bool | remove (const char *name) |
static bool | createPipe (File &reader, File &writer) |
Protected Member Functions | |
void | copyError () |
Protected Attributes | |
HANDLE | m_handle |
Class to encapsulate a system dependent file in a system independent abstraction
File | ( | ) |
Default constructor, creates a closed file
File | ( | HANDLE | handle | ) |
Constructor from an existing handle
handle | Operating system handle to an open file |
virtual ~File | ( | ) | [virtual] |
Destructor, closes the file
virtual bool openPath | ( | const char * | name, | |
bool | canWrite = false , |
|||
bool | canRead = true , |
|||
bool | create = false , |
|||
bool | append = false , |
|||
bool | binary = false | |||
) | [virtual] |
Opens a file from the filesystem pathname
name | Name of the file according to the operating system's conventions | |
canWrite | Open the file for writing | |
canRead | Open the file for reading | |
create | Create the file if it doesn't exist | |
append | Set the write pointer at the end of an existing file | |
binary | Open the file in binary mode if applicable |
virtual bool terminate | ( | ) | [virtual] |
Closes the file handle
Implements Stream.
void attach | ( | HANDLE | handle | ) |
Attach an existing handle to the file, closes any existing first
handle | Operating system handle to an open file |
HANDLE detach | ( | ) |
Detaches the object from the file handle
HANDLE handle | ( | ) | const [inline] |
Get the operating system handle to the file
virtual bool canRetry | ( | ) | const [virtual] |
Check if the last error code indicates a retryable condition
Reimplemented from Stream.
virtual bool valid | ( | ) | const [virtual] |
Check if this file is valid
Implements Stream.
static HANDLE invalidHandle | ( | ) | [static] |
Get the operating system specific handle value for an invalid file
virtual bool setBlocking | ( | bool | block = true |
) | [virtual] |
Set the blocking or non-blocking operation mode of the file
block | True if I/O operations should block, false for non-blocking |
Reimplemented from Stream.
virtual unsigned int length | ( | ) | [virtual] |
Find the length of the file if it has one
virtual int writeData | ( | const void * | buffer, | |
int | length | |||
) | [virtual] |
Write data to an open file
buffer | Buffer for data transfer | |
length | Length of the buffer |
Implements Stream.
virtual int readData | ( | void * | buffer, | |
int | length | |||
) | [virtual] |
Read data from an open file
buffer | Buffer for data transfer | |
length | Length of the buffer |
Implements Stream.
static bool remove | ( | const char * | name | ) | [static] |
Deletes a file entry from the filesystem
name | Absolute path and name of the file to delete |
void copyError | ( | ) | [protected] |
Copy the last error code from the operating system