28 #ifndef CASA_MFFILEIO_H
29 #define CASA_MFFILEIO_H
96 virtual void write (
Int64 size,
const void* buffer);
109 virtual void flush();
127 virtual void fsync();
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual ~MFFileIO()
The destructor flushes and closes the file.
Abstract base class to combine multiple files in a single one.
SeekOption
Define the possible seek options.
virtual Int64 length()
Get the length of the file.
virtual Bool isSeekable() const
The file is always seekable.
virtual Int64 doSeek(Int64 offset, ByteIO::SeekOption)
Reset the position pointer to the given value.
virtual void fsync()
Fsync the file (i.e.
virtual void flush()
Flush the file by writing all dirty data and all header info.
virtual void reopenRW()
Reopen the file (and possibly underlying MultiFileBase) for read/write access.
virtual Bool isWritable() const
Is the file writable?
virtual Int64 read(Int64 size, void *buf, Bool throwException=True)
Read size bytes from the byte stream.
virtual void write(Int64 size, const void *buffer)
Write a block at the given offset.
Abstract base class for IO on a byte stream.
MFFileIO(MultiFileBase &, const String &name, ByteIO::OpenOption=ByteIO::Old)
Open or create a virtual file with the given name.
bool Bool
Define the standard types used by Casacore.
OpenOption
Define the possible ByteIO open options.
virtual Bool isReadable() const
The file is always readable.
virtual String fileName() const
Get the file name of the file attached.
String: the storage and methods of handling collections of characters.
Class for IO on a virtual file in a MultiFileBase.