28 #ifndef TABLES_STMANAIPSIO_H
29 #define TABLES_STMANAIPSIO_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/DataMan/MSMBase.h>
35 #include <casacore/tables/DataMan/MSMColumn.h>
36 #include <casacore/casa/Containers/Block.h>
37 #include <casacore/casa/BasicSL/Complex.h>
38 #include <casacore/casa/Arrays/IPosition.h>
39 #include <casacore/casa/BasicSL/String.h>
40 #include <casacore/casa/Utilities/DataType.h>
41 #include <casacore/casa/IO/ByteIO.h>
272 const String& dataTypeID);
275 const String& dataTypeID);
278 const String& dataTypeID);
OpenOption
Define the possible ByteIO open options.
Abstract base class for a data manager.
AipsIO table storage manager class.
virtual rownr_t open64(rownr_t nrrow, AipsIO &)
Open the storage manager file for an existing table and read in the data and let the StManColumnAipsI...
virtual void deleteManager()
The data manager will be deleted (because all its columns are requested to be deleted).
StManAipsIO()
Create an AipsIO storage manager.
StManArrayFile * iosfile_p
The file containing the indirect arrays.
virtual rownr_t resync64(rownr_t nrrow)
Resync the storage manager with the new file contents.
DataManagerColumn * makeDirArrColumn(const String &name, int dataType, const String &dataTypeID)
Create a direct array column.
virtual Bool flush(AipsIO &, Bool fsync)
Flush and optionally fsync the data.
uInt uniqnr_p
Unique nr for column in this storage manager.
StManAipsIO(const String &storageManagerName)
Create an AipsIO storage manager with the given name.
virtual DataManager * clone() const
Clone this object.
virtual void create64(rownr_t nrrow)
Let the storage manager create files as needed for a new table.
virtual String dataManagerType() const
Get the type name of the data manager (i.e.
uInt uniqueNr()
Get a unique column number for the column (it is only unique for this storage manager).
static DataManager * makeObject(const String &dataManagerType, const Record &spec)
Make the object from the string.
StManAipsIO(const String &storageManagerName, const Record &)
DataManagerColumn * makeScalarColumn(const String &name, int dataType, const String &dataTypeID)
Create a column in the storage manager on behalf of a table column.
DataManagerColumn * makeIndArrColumn(const String &name, int dataType, const String &dataTypeID)
Create an indirect array column.
StManAipsIO(const StManAipsIO &)
Forbid copy constructor.
virtual void reopenRW()
Reopen the storage manager files for read/write.
StManAipsIO & operator=(const StManAipsIO &)
Forbid assignment.
StManArrayFile * openArrayFile(ByteIO::OpenOption opt)
Open (if needed) the file for indirect arrays with the given mode.
virtual void putFile(rownr_t nrval, AipsIO &)
Write the column data into AipsIO.
StManColumnAipsIO(const StManColumnAipsIO &)
Forbid copy constructor.
virtual ~StManColumnAipsIO()
Frees up the storage.
StManColumnAipsIO & operator=(const StManColumnAipsIO &)
Forbid assignment.
virtual void getFile(rownr_t nrval, AipsIO &)
Read the column data from AipsIO.
StManColumnAipsIO(StManAipsIO *stMan, int dataType, Bool byPtr)
Create a column of the given type.
virtual void getData(void *datap, uInt index, uInt nrval, AipsIO &, uInt version)
Get data (nrval elements) into an extension (starting at datap plus the given index).
virtual void initData(void *datap, rownr_t nrval)
initData does not do anything (only used in MSMColumn).
virtual void putData(void *datap, uInt nrval, AipsIO &)
Put the data (nrval elements) in an extension (starting at datap) into AipsIO.
virtual int dataType() const
Return the data type of the column.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.