13#ifndef OGRAPISPY_H_INCLUDED
14#define OGRAPISPY_H_INCLUDED
46#if defined(DEBUG) || defined(GDAL_DEBUG)
47#define OGRAPISPY_ENABLED
50#ifdef OGRAPISPY_ENABLED
54extern int bOGRAPISpyEnabled;
56void OGRAPISpyDestroyMutex();
58int OGRAPISpyOpenTakeSnapshot(
const char *pszName,
int bUpdate);
59void OGRAPISpyOpen(
const char *pszName,
int bUpdate,
int iSnapshot,
62void OGRAPISpyPostClose();
63void OGRAPISpyCreateDataSource(
GDALDriverH hDriver,
const char *pszName,
65void OGRAPISpyDeleteDataSource(
GDALDriverH hDriver,
const char *pszName);
69void OGRAPISpy_DS_GetLayerByName(
GDALDatasetH hDS,
const char *pszLayerName,
71void OGRAPISpy_DS_ExecuteSQL(
GDALDatasetH hDS,
const char *pszStatement,
73 const char *pszDialect,
OGRLayerH hLayer);
76void OGRAPISpy_DS_CreateLayer(
GDALDatasetH hDS,
const char *pszName,
80void OGRAPISpy_DS_DeleteLayer(
GDALDatasetH hDS,
int iLayer);
82void OGRAPISpy_Dataset_StartTransaction(
GDALDatasetH hDS,
int bForce);
83void OGRAPISpy_Dataset_CommitTransaction(
GDALDatasetH hDS);
84void OGRAPISpy_Dataset_RollbackTransaction(
GDALDatasetH hDS);
86void OGRAPISpy_L_GetFeatureCount(
OGRLayerH hLayer,
int bForce);
87void OGRAPISpy_L_GetExtent(
OGRLayerH hLayer,
int bForce);
88void OGRAPISpy_L_GetExtentEx(
OGRLayerH hLayer,
int iGeomField,
int bForce);
89void OGRAPISpy_L_GetExtent3D(
OGRLayerH hLayer,
int iGeomField,
int bForce);
90void OGRAPISpy_L_SetAttributeFilter(
OGRLayerH hLayer,
const char *pszFilter);
93void OGRAPISpy_L_GetNextFeature(
OGRLayerH hLayer);
99void OGRAPISpy_L_DeleteField(
OGRLayerH hLayer,
int iField);
100void OGRAPISpy_L_ReorderFields(
OGRLayerH hLayer,
int *panMap);
101void OGRAPISpy_L_ReorderField(
OGRLayerH hLayer,
int iOldFieldPos,
103void OGRAPISpy_L_AlterFieldDefn(
OGRLayerH hLayer,
int iField,
107void OGRAPISpy_L_StartTransaction(
OGRLayerH hLayer);
108void OGRAPISpy_L_CommitTransaction(
OGRLayerH hLayer);
109void OGRAPISpy_L_RollbackTransaction(
OGRLayerH hLayer);
110void OGRAPISpy_L_GetLayerDefn(
OGRLayerH hLayer);
111void OGRAPISpy_L_FindFieldIndex(
OGRLayerH hLayer,
const char *pszFieldName,
113void OGRAPISpy_L_GetSpatialRef(
OGRLayerH hLayer);
114void OGRAPISpy_L_TestCapability(
OGRLayerH hLayer,
const char *pszCap);
115void OGRAPISpy_L_GetSpatialFilter(
OGRLayerH hLayer);
117void OGRAPISpy_L_SetSpatialFilterEx(
OGRLayerH hLayer,
int iGeomField,
119void OGRAPISpy_L_SetSpatialFilterRect(
OGRLayerH hLayer,
double dfMinX,
120 double dfMinY,
double dfMaxX,
122void OGRAPISpy_L_SetSpatialFilterRectEx(
OGRLayerH hLayer,
int iGeomField,
123 double dfMinX,
double dfMinY,
124 double dfMaxX,
double dfMaxY);
125void OGRAPISpy_L_ResetReading(
OGRLayerH hLayer);
126void OGRAPISpy_L_SyncToDisk(
OGRLayerH hLayer);
128void OGRAPISpy_L_GetFIDColumn(
OGRLayerH hLayer);
129void OGRAPISpy_L_GetGeometryColumn(
OGRLayerH hLayer);
130void OGRAPISpy_L_GetName(
OGRLayerH hLayer);
131void OGRAPISpy_L_GetGeomType(
OGRLayerH hLayer);
132void OGRAPISpy_L_SetIgnoredFields(
OGRLayerH hLayer,
133 const char **papszIgnoredFields);
140 const char *pszFieldName);
142void OGRAPISpy_Fld_GetXXXX(
OGRFieldDefnH hField,
const char *pszOp);
145void OGRAPISpy_FD_GetGeomFieldDefn(
OGRFeatureDefnH hDefn,
int iGeomField,
148 const char *pszFieldName);
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:205
Public (C callable) GDAL entry points.
void * OGRGeometryH
Opaque type for a geometry.
Definition gdal_fwd.h:96
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal_fwd.h:42
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition gdal_fwd.h:195
void * OGRFieldDefnH
Opaque type for a field definition (OGRFieldDefn).
Definition gdal_fwd.h:122
void * OGRLayerH
Opaque type for a layer (OGRLayer).
Definition gdal_fwd.h:157
void * OGRFeatureDefnH
Opaque type for a feature definition (OGRFeatureDefn).
Definition gdal_fwd.h:124
void * OGRFeatureH
Opaque type for a feature (OGRFeature).
Definition gdal_fwd.h:141
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Opaque type for a geometry field definition (OGRGeomFieldDefn).
Definition gdal_fwd.h:128
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition gdal_fwd.h:51
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:405