30 #ifndef OGRMUTEXEDLAYER_H_INCLUDED
31 #define OGRMUTEXEDLAYER_H_INCLUDED
35 #include "ogrlayerdecorator.h"
36 #include "cpl_multiproc.h"
45 class CPL_DLL OGRMutexedLayer :
public OGRLayerDecorator
55 OGRMutexedLayer(
OGRLayer* poDecoratedLayer,
60 virtual ~OGRMutexedLayer();
63 virtual void SetSpatialFilter(
OGRGeometry * )
override;
64 virtual void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
65 double dfMaxX,
double dfMaxY )
override;
66 virtual void SetSpatialFilter(
int iGeomField,
OGRGeometry * )
override;
67 virtual void SetSpatialFilterRect(
int iGeomField,
double dfMinX,
double dfMinY,
68 double dfMaxX,
double dfMaxY )
override;
70 virtual OGRErr SetAttributeFilter(
const char * )
override;
72 virtual void ResetReading()
override;
82 virtual bool GetArrowStream(
struct ArrowArrayStream* out_stream,
85 virtual const char *GetName()
override;
91 virtual GIntBig GetFeatureCount(
int bForce = TRUE )
override;
92 virtual OGRErr GetExtent(
int iGeomField,
OGREnvelope *psExtent,
int bForce = TRUE)
override;
95 virtual int TestCapability(
const char * )
override;
98 int bApproxOK = TRUE )
override;
99 virtual OGRErr DeleteField(
int iField )
override;
100 virtual OGRErr ReorderFields(
int* panMap )
override;
101 virtual OGRErr AlterFieldDefn(
int iField,
OGRFieldDefn* poNewFieldDefn,
int nFlags )
override;
102 virtual OGRErr AlterGeomFieldDefn(
int iGeomField,
const OGRGeomFieldDefn* poNewGeomFieldDefn,
int nFlags )
override;
104 virtual OGRErr SyncToDisk()
override;
107 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable )
override;
109 virtual void SetStyleTable(
OGRStyleTable *poStyleTable)
override;
111 virtual OGRErr StartTransaction()
override;
112 virtual OGRErr CommitTransaction()
override;
113 virtual OGRErr RollbackTransaction()
override;
115 virtual const char *GetFIDColumn()
override;
116 virtual const char *GetGeometryColumn()
override;
118 virtual OGRErr SetIgnoredFields(
const char **papszFields )
override;
120 virtual char **GetMetadata(
const char * pszDomain =
"" )
override;
121 virtual CPLErr SetMetadata(
char ** papszMetadata,
122 const char * pszDomain =
"" )
override;
123 virtual const char *GetMetadataItem(
const char * pszName,
124 const char * pszDomain =
"" )
override;
125 virtual CPLErr SetMetadataItem(
const char * pszName,
126 const char * pszValue,
127 const char * pszDomain =
"" )
override;
128 virtual OGRErr Rename(
const char* pszNewName)
override;
133 #endif // OGRMUTEXEDLAYER_H_INCLUDED
This class represents a style table.
Definition: ogr_featurestyle.h:84
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition: ogr_spatialref.h:157
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:326
This class represents a layer of simple features, with access methods.
Definition: ogrsf_frmts.h:72
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:342
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1056
Definition of an attribute of an OGRFeatureDefn.
Definition: ogr_feature.h:100
Definition of a geometry field of an OGRFeatureDefn.
Definition: ogr_feature.h:203
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:341
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:230
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:368
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:381
CPLErr
Error category.
Definition: cpl_error.h:52
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:57
Definition of a feature class or feature layer.
Definition: ogr_feature.h:280
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition: cpl_port.h:930