GDAL
ograpispy.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ograpispy.h 33631 2016-03-04 06:28:09Z goatbar $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: OGR C API "Spy"
6  * Author: Even Rouault, even.rouault at spatialys.com
7  *
8  ******************************************************************************
9  * Copyright (c) 2014, Even Rouault <even.rouault at spatialys.com>
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 #ifndef OGRAPISPY_H_INCLUDED
31 #define OGRAPISPY_H_INCLUDED
32 
33 #include "gdal.h"
34 
65 #ifdef DEBUG
66 #define OGRAPISPY_ENABLED
67 #endif
68 
69 #ifdef OGRAPISPY_ENABLED
70 
71 CPL_C_START
72 
73 extern int bOGRAPISpyEnabled;
74 
75 int OGRAPISpyOpenTakeSnapshot(const char* pszName, int bUpdate);
76 void OGRAPISpyOpen(const char* pszName, int bUpdate, int iSnapshot,
77  GDALDatasetH* phDS);
78 void OGRAPISpyPreClose(OGRDataSourceH hDS);
79 void OGRAPISpyPostClose();
80 void OGRAPISpyCreateDataSource(OGRSFDriverH hDriver, const char* pszName,
81  char** papszOptions, OGRDataSourceH hDS);
82 void OGRAPISpyDeleteDataSource(OGRSFDriverH hDriver, const char* pszName);
83 
84 void OGRAPISpy_DS_GetLayerCount( OGRDataSourceH hDS );
85 void OGRAPISpy_DS_GetLayer( OGRDataSourceH hDS, int iLayer, OGRLayerH hLayer );
86 void OGRAPISpy_DS_GetLayerByName( OGRDataSourceH hDS, const char* pszLayerName,
87  OGRLayerH hLayer );
88 void OGRAPISpy_DS_ExecuteSQL( OGRDataSourceH hDS,
89  const char *pszStatement,
90  OGRGeometryH hSpatialFilter,
91  const char *pszDialect,
92  OGRLayerH hLayer);
93 void OGRAPISpy_DS_ReleaseResultSet( OGRDataSourceH hDS, OGRLayerH hLayer);
94 
95 void OGRAPISpy_DS_CreateLayer( OGRDataSourceH hDS,
96  const char * pszName,
97  OGRSpatialReferenceH hSpatialRef,
98  OGRwkbGeometryType eType,
99  char ** papszOptions,
100  OGRLayerH hLayer);
101 void OGRAPISpy_DS_DeleteLayer( OGRDataSourceH hDS, int iLayer );
102 
103 void OGRAPISpy_Dataset_StartTransaction( GDALDatasetH hDS, int bForce );
104 void OGRAPISpy_Dataset_CommitTransaction( GDALDatasetH hDS );
105 void OGRAPISpy_Dataset_RollbackTransaction( GDALDatasetH hDS );
106 
107 void OGRAPISpy_L_GetFeatureCount( OGRLayerH hLayer, int bForce );
108 void OGRAPISpy_L_GetExtent( OGRLayerH hLayer, int bForce );
109 void OGRAPISpy_L_GetExtentEx( OGRLayerH hLayer, int iGeomField, int bForce );
110 void OGRAPISpy_L_SetAttributeFilter( OGRLayerH hLayer, const char* pszFilter );
111 void OGRAPISpy_L_GetFeature( OGRLayerH hLayer, GIntBig nFeatureId );
112 void OGRAPISpy_L_SetNextByIndex( OGRLayerH hLayer, GIntBig nIndex );
113 void OGRAPISpy_L_GetNextFeature( OGRLayerH hLayer );
114 void OGRAPISpy_L_SetFeature( OGRLayerH hLayer, OGRFeatureH hFeat );
115 void OGRAPISpy_L_CreateFeature( OGRLayerH hLayer, OGRFeatureH hFeat );
116 void OGRAPISpy_L_CreateField( OGRLayerH hLayer, OGRFieldDefnH hField,
117  int bApproxOK );
118 void OGRAPISpy_L_DeleteField( OGRLayerH hLayer, int iField );
119 void OGRAPISpy_L_ReorderFields( OGRLayerH hLayer, int* panMap );
120 void OGRAPISpy_L_ReorderField( OGRLayerH hLayer, int iOldFieldPos,
121  int iNewFieldPos );
122 void OGRAPISpy_L_AlterFieldDefn( OGRLayerH hLayer, int iField,
123  OGRFieldDefnH hNewFieldDefn,
124  int nFlags );
125 void OGRAPISpy_L_CreateGeomField( OGRLayerH hLayer, OGRGeomFieldDefnH hField,
126  int bApproxOK );
127 void OGRAPISpy_L_StartTransaction( OGRLayerH hLayer );
128 void OGRAPISpy_L_CommitTransaction( OGRLayerH hLayer );
129 void OGRAPISpy_L_RollbackTransaction( OGRLayerH hLayer );
130 void OGRAPISpy_L_GetLayerDefn( OGRLayerH hLayer );
131 void OGRAPISpy_L_FindFieldIndex( OGRLayerH hLayer, const char *pszFieldName,
132  int bExactMatch );
133 void OGRAPISpy_L_GetSpatialRef( OGRLayerH hLayer );
134 void OGRAPISpy_L_TestCapability( OGRLayerH hLayer, const char* pszCap );
135 void OGRAPISpy_L_GetSpatialFilter( OGRLayerH hLayer );
136 void OGRAPISpy_L_SetSpatialFilter( OGRLayerH hLayer, OGRGeometryH hGeom );
137 void OGRAPISpy_L_SetSpatialFilterEx( OGRLayerH hLayer, int iGeomField,
138  OGRGeometryH hGeom );
139 void OGRAPISpy_L_SetSpatialFilterRect( OGRLayerH hLayer,
140  double dfMinX, double dfMinY,
141  double dfMaxX, double dfMaxY);
142 void OGRAPISpy_L_SetSpatialFilterRectEx( OGRLayerH hLayer, int iGeomField,
143  double dfMinX, double dfMinY,
144  double dfMaxX, double dfMaxY);
145 void OGRAPISpy_L_ResetReading( OGRLayerH hLayer );
146 void OGRAPISpy_L_SyncToDisk( OGRLayerH hLayer );
147 void OGRAPISpy_L_DeleteFeature( OGRLayerH hLayer, GIntBig nFID );
148 void OGRAPISpy_L_GetFIDColumn( OGRLayerH hLayer );
149 void OGRAPISpy_L_GetGeometryColumn( OGRLayerH hLayer );
150 void OGRAPISpy_L_GetName( OGRLayerH hLayer );
151 void OGRAPISpy_L_GetGeomType( OGRLayerH hLayer );
152 void OGRAPISpy_L_SetIgnoredFields( OGRLayerH hLayer,
153  const char** papszIgnoredFields );
154 
155 void OGRAPISpy_FD_GetGeomType(OGRFeatureDefnH hDefn);
156 void OGRAPISpy_FD_GetFieldCount(OGRFeatureDefnH hDefn);
157 void OGRAPISpy_FD_GetFieldDefn(OGRFeatureDefnH hDefn, int iField,
158  OGRFieldDefnH hGeomField);
159 void OGRAPISpy_FD_GetFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName);
160 
161 void OGRAPISpy_Fld_GetXXXX(OGRFieldDefnH hField, const char* pszOp);
162 
163 void OGRAPISpy_FD_GetGeomFieldCount(OGRFeatureDefnH hDefn);
164 void OGRAPISpy_FD_GetGeomFieldDefn(OGRFeatureDefnH hDefn, int iGeomField,
165  OGRGeomFieldDefnH hGeomField);
166 void OGRAPISpy_FD_GetGeomFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName);
167 void OGRAPISpy_GFld_GetXXXX(OGRGeomFieldDefnH hGeomField, const char* pszOp);
168 
169 CPL_C_END
170 
171 #endif /* OGRAPISPY_ENABLED */
172 
173 #endif /* OGRAPISPY_H_INCLUDED */
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:230
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:333
Public (C callable) GDAL entry points.

Generated for GDAL by doxygen 1.8.12.