1 /****************************************************************************** 2 * $Id: gdaljp2abstractdataset.h b1c9c12ad373e40b955162b45d704070d4ebf7b0 2019-06-19 16:50:15 +0200 Even Rouault $ 3 * 4 * Project: GDAL 5 * Purpose: GDALGeorefPamDataset with helper to read georeferencing and other 6 * metadata from JP2Boxes 7 * Author: Even Rouault <even dot rouault at spatialys.com> 8 * 9 ****************************************************************************** 10 * Copyright (c) 2013, Even Rouault <even dot rouault at spatialys.com> 11 * 12 * Permission is hereby granted, free of charge, to any person obtaining a 13 * copy of this software and associated documentation files (the "Software"), 14 * to deal in the Software without restriction, including without limitation 15 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 16 * and/or sell copies of the Software, and to permit persons to whom the 17 * Software is furnished to do so, subject to the following conditions: 18 * 19 * The above copyright notice and this permission notice shall be included 20 * in all copies or substantial portions of the Software. 21 * 22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 23 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 25 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 27 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 28 * DEALINGS IN THE SOFTWARE. 29 ****************************************************************************/ 30 31 #ifndef GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED 32 #define GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED 33 34 //! @cond Doxygen_Suppress 35 #include "gdalgeorefpamdataset.h" 36 37 class CPL_DLL GDALJP2AbstractDataset: public GDALGeorefPamDataset 38 { 39 char* pszWldFilename = nullptr; 40 41 GDALDataset* poMemDS = nullptr; 42 char** papszMetadataFiles = nullptr; 43 int m_nWORLDFILEIndex = -1; 44 45 CPL_DISALLOW_COPY_ASSIGN(GDALJP2AbstractDataset) 46 47 protected: 48 int CloseDependentDatasets() override; 49 50 public: 51 GDALJP2AbstractDataset(); 52 ~GDALJP2AbstractDataset() override; 53 54 void LoadJP2Metadata( GDALOpenInfo* poOpenInfo, 55 const char* pszOverrideFilename = nullptr ); 56 void LoadVectorLayers( int bOpenRemoteResources = FALSE ); 57 58 char **GetFileList( void ) override; 59 60 int GetLayerCount() override; 61 OGRLayer *GetLayer( int i ) override; 62 }; 63 //! @endcond 64 65 #endif /* GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED */ 66