28 #ifndef CASA_MULTIFILE_H
29 #define CASA_MULTIFILE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/IO/MultiFileBase.h>
34 #include <casacore/casa/IO/FiledesIO.h>
OpenOption
Define the possible ByteIO open options.
Abstract base class to combine multiple files in a single one.
Int64 blockSize() const
Get the block size used.
Bool useODirect() const
Will O_DIRECT be used?
const vector< MultiFileInfo > & info() const
Get the info object (for test purposes mainly).
virtual void reopenRW()
Reopen the underlying file for read/write access.
virtual void writeBlock(MultiFileInfo &info, Int64 blknr, const void *buffer)
Write a data block.
virtual void extend(MultiFileInfo &info, Int64 lastblk)
Extend the virtual file to fit lastblk.
virtual void fsync()
Fsync the file (i.e., force the data to be physically written).
virtual void close()
Flush and close the file.
MultiFile(const String &name, ByteIO::OpenOption, Int blockSize=0, Bool useODirect=False)
Open or create a MultiFile with the given name.
virtual void readBlock(MultiFileInfo &info, Int64 blknr, void *buffer)
Read a data block.
virtual void writeHeader()
Write the header info.
virtual ~MultiFile()
The destructor flushes and closes the file.
virtual void doAddFile(MultiFileInfo &)
Do the class-specific actions on adding a file.
virtual void doDeleteFile(MultiFileInfo &)
Do the class-specific actions on deleting a file.
virtual void flushFile()
Flush the file itself.
virtual void readHeader(Bool always=True)
Read the header info.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
bool Bool
Define the standard types used by Casacore.
Helper class for MultiFileBase containing info per internal file.