Project:dool
Class List Class Hierarchy
Summary: Ctors Methods

Module dool.io.FileStream

Class FileStream

dool.io.Stream.Stream
        dool.io.FileStream.FileStream

Implemented interfaces:

class FileStream



Constructor Summary
()
          
(HANDLE hFile, FileMode mode)
          
(char filename, FileMode mode)
          

Methods Summary
public HANDLE getHandle()
          
void open(char filename, FileMode mode)
          
private void parseMode(int mode, int access, int share, int createMode)
          
void create(char filename)
          
void create(char filename, FileMode mode)
          
override void flush()
          
override void close()
          
~this ()
          
override uint readBlock(void* buffer, uint size)
          
override uint writeBlock(void* buffer, uint size)
          
override ulong seek(long offset, SeekPos rel)
          
HANDLE handle()
          


public HANDLE getHandle()

this ()

this (HANDLE hFile, FileMode mode)
//opens existing handle; use with care!
this (char[] filename, FileMode mode)
//opens file in requested mode
void open(char[] filename, FileMode mode)
//opens file in requested mode
private void parseMode(int mode, out int access, out int share, out int createMode)

void create(char[] filename)
//creates file for writing
void create(char[] filename, FileMode mode)
//creates file in requested mode
override void flush()

override void close()
//closes file, if it is open; otherwise, does nothing
~this ()
//destructor, closes file if still opened
override uint readBlock(void* buffer, uint size)
//since in-blocks are not inherited, redefine them
override uint writeBlock(void* buffer, uint size)
//since in-blocks are not inherited, redefine them
override ulong seek(long offset, SeekPos rel)
//since in-blocks are not inherited, redefine them
HANDLE handle()
//OS-specific property, just in case somebody wants //to mess with underlying API