Line data Source code
1 : /********************************************************************** 2 : * $Id: ogrgeoconceptdatasource.h$ 3 : * 4 : * Name: ogrgeoconceptdatasource.h 5 : * Project: OpenGIS Simple Features Reference Implementation 6 : * Purpose: Implements OGRGeoconceptDataSource class. 7 : * Language: C++ 8 : * 9 : ********************************************************************** 10 : * Copyright (c) 2007, Geoconcept and IGN 11 : * 12 : * SPDX-License-Identifier: MIT 13 : **********************************************************************/ 14 : 15 : #include "ogrsf_frmts.h" 16 : #include "ogrgeoconceptlayer.h" 17 : 18 : #ifndef GEOCONCEPT_OGR_DATASOURCE_H_INCLUDED_ 19 : #define GEOCONCEPT_OGR_DATASOURCE_H_INCLUDED_ 20 : 21 : /**********************************************************************/ 22 : /* OGCGeoconceptDataSource Class */ 23 : /**********************************************************************/ 24 : class OGRGeoconceptDataSource : public GDALDataset 25 : { 26 : private: 27 : OGRGeoconceptLayer **_papoLayers; 28 : int _nLayers; 29 : 30 : char *_pszGCT; 31 : char *_pszDirectory; 32 : char *_pszExt; 33 : char **_papszOptions; 34 : bool _bSingleNewFile; 35 : bool _bUpdate; 36 : GCExportFileH *_hGXT; 37 : 38 : public: 39 : OGRGeoconceptDataSource(); 40 : ~OGRGeoconceptDataSource(); 41 : 42 : int Open(const char *pszName, bool bTestOpen, bool bUpdate); 43 : int Create(const char *pszName, char **papszOptions); 44 : 45 12 : int GetLayerCount() override 46 : { 47 12 : return _nLayers; 48 : } 49 : 50 : OGRLayer *GetLayer(int iLayer) override; 51 : // OGRErr DeleteLayer( int iLayer ); 52 : int TestCapability(const char *pszCap) override; 53 : 54 : OGRLayer *ICreateLayer(const char *pszName, 55 : const OGRGeomFieldDefn *poGeomFieldDefn, 56 : CSLConstList papszOptions) override; 57 : 58 : private: 59 : int LoadFile(const char *); 60 : }; 61 : 62 : #endif /* GEOCONCEPT_OGR_DATASOURCE_H_INCLUDED_ */