GDAL
ograpispy.h
Go to the documentation of this file.
00001 /******************************************************************************
00002  * $Id: ograpispy.h 35912 2016-10-24 16:41:45Z goatbar $
00003  *
00004  * Project:  OpenGIS Simple Features Reference Implementation
00005  * Purpose:  OGR C API "Spy"
00006  * Author:   Even Rouault, even.rouault at spatialys.com
00007  *
00008  ******************************************************************************
00009  * Copyright (c) 2014, Even Rouault <even.rouault at spatialys.com>
00010  *
00011  * Permission is hereby granted, free of charge, to any person obtaining a
00012  * copy of this software and associated documentation files (the "Software"),
00013  * to deal in the Software without restriction, including without limitation
00014  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00015  * and/or sell copies of the Software, and to permit persons to whom the
00016  * Software is furnished to do so, subject to the following conditions:
00017  *
00018  * The above copyright notice and this permission notice shall be included
00019  * in all copies or substantial portions of the Software.
00020  *
00021  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00022  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00023  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00024  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00025  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00026  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00027  * DEALINGS IN THE SOFTWARE.
00028  ****************************************************************************/
00029 
00030 #ifndef OGRAPISPY_H_INCLUDED
00031 #define OGRAPISPY_H_INCLUDED
00032 
00033 #include "gdal.h"
00034 
00064 #ifdef DEBUG
00065 #define OGRAPISPY_ENABLED
00066 #endif
00067 
00068 #ifdef OGRAPISPY_ENABLED
00069 
00070 CPL_C_START
00071 
00072 extern int bOGRAPISpyEnabled;
00073 
00074 int OGRAPISpyOpenTakeSnapshot(const char* pszName, int bUpdate);
00075 void OGRAPISpyOpen(const char* pszName, int bUpdate, int iSnapshot,
00076                    GDALDatasetH* phDS);
00077 void OGRAPISpyPreClose(OGRDataSourceH hDS);
00078 void OGRAPISpyPostClose();
00079 void OGRAPISpyCreateDataSource(OGRSFDriverH hDriver, const char* pszName,
00080                                char** papszOptions, OGRDataSourceH hDS);
00081 void OGRAPISpyDeleteDataSource(OGRSFDriverH hDriver, const char* pszName);
00082 
00083 void OGRAPISpy_DS_GetLayerCount( OGRDataSourceH hDS );
00084 void OGRAPISpy_DS_GetLayer( OGRDataSourceH hDS, int iLayer, OGRLayerH hLayer );
00085 void OGRAPISpy_DS_GetLayerByName( OGRDataSourceH hDS, const char* pszLayerName,
00086                                   OGRLayerH hLayer );
00087 void OGRAPISpy_DS_ExecuteSQL( OGRDataSourceH hDS,
00088                               const char *pszStatement,
00089                               OGRGeometryH hSpatialFilter,
00090                               const char *pszDialect,
00091                               OGRLayerH hLayer);
00092 void OGRAPISpy_DS_ReleaseResultSet( OGRDataSourceH hDS, OGRLayerH hLayer);
00093 
00094 void OGRAPISpy_DS_CreateLayer( OGRDataSourceH hDS,
00095                                const char * pszName,
00096                                OGRSpatialReferenceH hSpatialRef,
00097                                OGRwkbGeometryType eType,
00098                                char ** papszOptions,
00099                                OGRLayerH hLayer);
00100 void OGRAPISpy_DS_DeleteLayer( OGRDataSourceH hDS, int iLayer );
00101 
00102 void OGRAPISpy_Dataset_StartTransaction( GDALDatasetH hDS, int bForce );
00103 void OGRAPISpy_Dataset_CommitTransaction( GDALDatasetH hDS );
00104 void OGRAPISpy_Dataset_RollbackTransaction( GDALDatasetH hDS );
00105 
00106 void OGRAPISpy_L_GetFeatureCount( OGRLayerH hLayer, int bForce );
00107 void OGRAPISpy_L_GetExtent( OGRLayerH hLayer, int bForce );
00108 void OGRAPISpy_L_GetExtentEx( OGRLayerH hLayer, int iGeomField, int bForce );
00109 void OGRAPISpy_L_SetAttributeFilter( OGRLayerH hLayer, const char* pszFilter );
00110 void OGRAPISpy_L_GetFeature( OGRLayerH hLayer, GIntBig nFeatureId );
00111 void OGRAPISpy_L_SetNextByIndex( OGRLayerH hLayer, GIntBig nIndex );
00112 void OGRAPISpy_L_GetNextFeature( OGRLayerH hLayer );
00113 void OGRAPISpy_L_SetFeature( OGRLayerH hLayer, OGRFeatureH hFeat );
00114 void OGRAPISpy_L_CreateFeature( OGRLayerH hLayer, OGRFeatureH hFeat );
00115 void OGRAPISpy_L_CreateField( OGRLayerH hLayer, OGRFieldDefnH hField,
00116                               int bApproxOK );
00117 void OGRAPISpy_L_DeleteField( OGRLayerH hLayer, int iField );
00118 void OGRAPISpy_L_ReorderFields( OGRLayerH hLayer, int* panMap );
00119 void OGRAPISpy_L_ReorderField( OGRLayerH hLayer, int iOldFieldPos,
00120                                int iNewFieldPos );
00121 void OGRAPISpy_L_AlterFieldDefn( OGRLayerH hLayer, int iField,
00122                                  OGRFieldDefnH hNewFieldDefn,
00123                                  int nFlags );
00124 void OGRAPISpy_L_CreateGeomField( OGRLayerH hLayer, OGRGeomFieldDefnH hField,
00125                                   int bApproxOK );
00126 void OGRAPISpy_L_StartTransaction( OGRLayerH hLayer );
00127 void OGRAPISpy_L_CommitTransaction( OGRLayerH hLayer );
00128 void OGRAPISpy_L_RollbackTransaction( OGRLayerH hLayer );
00129 void OGRAPISpy_L_GetLayerDefn( OGRLayerH hLayer );
00130 void OGRAPISpy_L_FindFieldIndex( OGRLayerH hLayer, const char *pszFieldName,
00131                                  int bExactMatch );
00132 void OGRAPISpy_L_GetSpatialRef( OGRLayerH hLayer );
00133 void OGRAPISpy_L_TestCapability( OGRLayerH hLayer, const char* pszCap );
00134 void OGRAPISpy_L_GetSpatialFilter( OGRLayerH hLayer );
00135 void OGRAPISpy_L_SetSpatialFilter( OGRLayerH hLayer, OGRGeometryH hGeom );
00136 void OGRAPISpy_L_SetSpatialFilterEx( OGRLayerH hLayer, int iGeomField,
00137                                      OGRGeometryH hGeom );
00138 void OGRAPISpy_L_SetSpatialFilterRect( OGRLayerH hLayer,
00139                                        double dfMinX, double dfMinY,
00140                                        double dfMaxX, double dfMaxY);
00141 void OGRAPISpy_L_SetSpatialFilterRectEx( OGRLayerH hLayer, int iGeomField,
00142                                          double dfMinX, double dfMinY,
00143                                          double dfMaxX, double dfMaxY);
00144 void OGRAPISpy_L_ResetReading( OGRLayerH hLayer );
00145 void OGRAPISpy_L_SyncToDisk( OGRLayerH hLayer );
00146 void OGRAPISpy_L_DeleteFeature( OGRLayerH hLayer, GIntBig nFID );
00147 void OGRAPISpy_L_GetFIDColumn( OGRLayerH hLayer );
00148 void OGRAPISpy_L_GetGeometryColumn( OGRLayerH hLayer );
00149 void OGRAPISpy_L_GetName( OGRLayerH hLayer );
00150 void OGRAPISpy_L_GetGeomType( OGRLayerH hLayer );
00151 void OGRAPISpy_L_SetIgnoredFields( OGRLayerH hLayer,
00152                                    const char** papszIgnoredFields );
00153 
00154 void OGRAPISpy_FD_GetGeomType(OGRFeatureDefnH hDefn);
00155 void OGRAPISpy_FD_GetFieldCount(OGRFeatureDefnH hDefn);
00156 void OGRAPISpy_FD_GetFieldDefn(OGRFeatureDefnH hDefn, int iField,
00157                                OGRFieldDefnH hGeomField);
00158 void OGRAPISpy_FD_GetFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName);
00159 
00160 void OGRAPISpy_Fld_GetXXXX(OGRFieldDefnH hField, const char* pszOp);
00161 
00162 void OGRAPISpy_FD_GetGeomFieldCount(OGRFeatureDefnH hDefn);
00163 void OGRAPISpy_FD_GetGeomFieldDefn(OGRFeatureDefnH hDefn, int iGeomField,
00164                                    OGRGeomFieldDefnH hGeomField);
00165 void OGRAPISpy_FD_GetGeomFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName);
00166 void OGRAPISpy_GFld_GetXXXX(OGRGeomFieldDefnH hGeomField, const char* pszOp);
00167 
00168 CPL_C_END
00169 
00170 #endif /* OGRAPISPY_ENABLED */
00171 
00172 #endif /*  OGRAPISPY_H_INCLUDED */

Generated for GDAL by doxygen 1.7.6.1.