Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis 3 Programmer Reference
ImageIoHandler.h
1
5
6/* SPDX-License-Identifier: CC0-1.0 */
7
8#ifndef ImageIoHandler_h
9#define ImageIoHandler_h
10
11#include "Constants.h"
12
13class QFile;
14class QMutex;
15template <typename A> class QList;
16
17namespace Isis {
18 class Buffer;
20 class Pvl;
21
99 class ImageIoHandler {
100 public:
101 ImageIoHandler(const QList<int> *virtualBandList);
102 virtual ~ImageIoHandler();
103
104 virtual void read(Buffer &bufferToFill) const = 0;
105 virtual void write(const Buffer &bufferToWrite) = 0;
106
107 virtual void addCachingAlgorithm(CubeCachingAlgorithm *algorithm);
108 virtual void clearCache(bool blockForWriteCache = true) const;
109 virtual BigInt getDataSize() const = 0;
110 void setVirtualBands(const QList<int> *virtualBandList);
116 virtual void updateLabels(Pvl &labels) = 0;
117 QMutex *dataFileMutex();
118
119 protected:
122
125 };
126}
127
128#endif
Buffer for reading and writing cube data.
Definition Buffer.h:53
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.
Definition Apollo.h:16