8#ifndef ImageIoHandler_h
9#define ImageIoHandler_h
15template <
typename A>
class QList;
99 class ImageIoHandler {
101 ImageIoHandler(
const QList<int> *virtualBandList);
102 virtual ~ImageIoHandler();
104 virtual void read(
Buffer &bufferToFill)
const = 0;
105 virtual void write(
const Buffer &bufferToWrite) = 0;
108 virtual void clearCache(
bool blockForWriteCache =
true)
const;
109 virtual BigInt getDataSize()
const = 0;
Buffer for reading and writing cube data.
This is the parent of the caching algorithms.
QList< int > * m_virtualBands
Converts from virtual band to physical band.
virtual void updateLabels(Pvl &labels)=0
Function to update the labels with a Pvl object.
void setVirtualBands(const QList< int > *virtualBandList)
This changes the virtual band list.
QMutex * m_writeThreadMutex
This enables us to block while the write thread is working.
QMutex * dataFileMutex()
Get the mutex that this IO handler is using around I/Os on the given data file.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.