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
54 OGRMutexedLayer(
OGRLayer *poDecoratedLayer,
int bTakeOwnership,
58 virtual ~OGRMutexedLayer();
61 virtual void SetSpatialFilter(
OGRGeometry *)
override;
62 virtual void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
63 double dfMaxX,
double dfMaxY)
override;
64 virtual void SetSpatialFilter(
int iGeomField,
OGRGeometry *)
override;
65 virtual void SetSpatialFilterRect(
int iGeomField,
double dfMinX,
66 double dfMinY,
double dfMaxX,
67 double dfMaxY)
override;
69 virtual OGRErr SetAttributeFilter(
const char *)
override;
71 virtual void ResetReading()
override;
79 const int *panUpdatedFieldsIdx,
80 int nUpdatedGeomFieldsCount,
81 const int *panUpdatedGeomFieldsIdx,
82 bool bUpdateStyleString)
override;
86 virtual bool GetArrowStream(
struct ArrowArrayStream *out_stream,
89 virtual const char *GetName()
override;
95 virtual GIntBig GetFeatureCount(
int bForce = TRUE)
override;
97 int bForce = TRUE)
override;
100 virtual int TestCapability(
const char *)
override;
103 int bApproxOK = TRUE)
override;
104 virtual OGRErr DeleteField(
int iField)
override;
105 virtual OGRErr ReorderFields(
int *panMap)
override;
107 int nFlags)
override;
109 AlterGeomFieldDefn(
int iGeomField,
111 int nFlags)
override;
113 virtual OGRErr SyncToDisk()
override;
116 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable)
override;
118 virtual void SetStyleTable(
OGRStyleTable *poStyleTable)
override;
120 virtual OGRErr StartTransaction()
override;
121 virtual OGRErr CommitTransaction()
override;
122 virtual OGRErr RollbackTransaction()
override;
124 virtual const char *GetFIDColumn()
override;
125 virtual const char *GetGeometryColumn()
override;
129 virtual char **GetMetadata(
const char *pszDomain =
"")
override;
130 virtual CPLErr SetMetadata(
char **papszMetadata,
131 const char *pszDomain =
"")
override;
132 virtual const char *GetMetadataItem(
const char *pszName,
133 const char *pszDomain =
"")
override;
134 virtual CPLErr SetMetadataItem(
const char *pszName,
const char *pszValue,
135 const char *pszDomain =
"")
override;
136 virtual OGRErr Rename(
const char *pszNewName)
override;
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:503
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:61
Definition of a feature class or feature layer.
Definition: ogr_feature.h:517
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:893
Definition of an attribute of an OGRFeatureDefn.
Definition: ogr_feature.h:111
Definition of a geometry field of an OGRFeatureDefn.
Definition: ogr_feature.h:346
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:377
This class represents a layer of simple features, with access methods.
Definition: ogrsf_frmts.h:74
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition: ogr_spatialref.h:169
This class represents a style table.
Definition: ogr_featurestyle.h:86
CPLErr
Error category.
Definition: cpl_error.h:53
#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:1042
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1183
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:215
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:416
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:387