28 #ifndef CASA_MULTIFILEBASE_H 29 #define CASA_MULTIFILEBASE_H 32 #include <casacore/casa/aips.h> 33 #include <casacore/casa/IO/ByteIO.h> 34 #include <casacore/casa/BasicSL/String.h> 35 #include <casacore/casa/Utilities/CountedPtr.h> 36 #include <casacore/casa/vector.h> 37 #include <casacore/casa/ostream.h> 156 void deleteFile (
Int fileId);
175 virtual void reopenRW() = 0;
178 virtual void fsync() = 0;
186 {
return itsWritable; }
190 {
return itsBlockSize; }
197 {
return itsNrBlock; }
200 const vector<MultiFileInfo>&
info()
const 205 {
return itsFreeBlocks; }
219 virtual void flushFile() = 0;
221 virtual void close() = 0;
223 virtual void writeHeader() = 0;
226 virtual void readHeader (
Bool always=
True) = 0;
231 const void* buffer) = 0;
MultiFileInfo(Int64 bufSize=0)
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
Abstract base class to combine multiple files in a single one.
AipsIO is the object persistency mechanism of Casacore.
CountedPtr< HDF5DataSet > dataSet
Helper class for MultiFileBase containing info per internal file.
ostream & operator<<(ostream &os, const IComplex &)
Show on ostream.
String fileName() const
Get the file name of the MultiFileBase.
const vector< Int64 > & freeBlocks() const
Get the free blocks (for test purposes mainly).
Referenced counted pointer for constant data.
bool Bool
Define the standard types used by Casacore.
CountedPtr< HDF5Group > group
Int64 blockSize() const
Get the block size used.
const vector< MultiFileInfo > & info() const
Get the info object (for test purposes mainly).
String: the storage and methods of handling collections of characters.
vector< Int64 > itsFreeBlocks
AipsIO & operator>>(AipsIO &os, Record &rec)
vector< MultiFileInfo > itsInfo
void writeDirty(MultiFileInfo &info)
Bool isWritable() const
Is the file writable?
this file contains all the compiler specific defines
Int64 size() const
Get the total nr of data blocks used.