Line data Source code
1 : /* 2 : * $Id$ 3 : * keamaskband.h 4 : * 5 : * Created by Pete Bunting on 01/08/2012. 6 : * Copyright 2012 LibKEA. All rights reserved. 7 : * 8 : * This file is part of LibKEA. 9 : * 10 : * SPDX-License-Identifier: MIT 11 : * 12 : */ 13 : 14 : #ifndef KEAMASKBAND_H 15 : #define KEAMASKBAND_H 16 : 17 : #include "gdal_priv.h" 18 : 19 : #include "libkea_headers.h" 20 : #include "keadataset.h" 21 : 22 : class KEAMaskBand final : public GDALRasterBand 23 : { 24 : int m_nSrcBand; 25 : kealib::KEAImageIO *m_pImageIO; // our image access pointer - refcounted 26 : LockedRefCount *m_pRefCount; // reference count of m_pImageIO 27 : public: 28 : KEAMaskBand(GDALRasterBand *pParent, kealib::KEAImageIO *pImageIO, 29 : LockedRefCount *pRefCount); 30 : ~KEAMaskBand(); 31 : 32 1 : virtual bool IsMaskBand() const override 33 : { 34 1 : return true; 35 : } 36 : 37 : protected: 38 : // we just override these functions from GDALRasterBand 39 : virtual CPLErr IReadBlock(int, int, void *) override; 40 : virtual CPLErr IWriteBlock(int, int, void *) override; 41 : }; 42 : 43 : #endif // KEAMASKBAND_H