GDAL
ograpispy.h
Go to the documentation of this file.
00001 /******************************************************************************
00002  * $Id: ograpispy.h 28807 2015-03-28 14:46:31Z rouault $
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 
00065 #ifdef DEBUG
00066 #define OGRAPISPY_ENABLED
00067 #endif
00068 
00069 #ifdef OGRAPISPY_ENABLED
00070 
00071 CPL_C_START
00072 
00073 extern int bOGRAPISpyEnabled;
00074 
00075 int OGRAPISpyOpenTakeSnapshot(const char* pszName, int bUpdate);
00076 void OGRAPISpyOpen(const char* pszName, int bUpdate, int iSnapshot,
00077                    GDALDatasetH* phDS);
00078 void OGRAPISpyPreClose(OGRDataSourceH hDS);
00079 void OGRAPISpyPostClose(OGRDataSourceH hDS);
00080 void OGRAPISpyCreateDataSource(OGRSFDriverH hDriver, const char* pszName,
00081                                char** papszOptions, OGRDataSourceH hDS);
00082 void OGRAPISpyDeleteDataSource(OGRSFDriverH hDriver, const char* pszName);
00083 
00084 void OGRAPISpy_DS_GetLayerCount( OGRDataSourceH hDS );
00085 void OGRAPISpy_DS_GetLayer( OGRDataSourceH hDS, int iLayer, OGRLayerH hLayer );
00086 void OGRAPISpy_DS_GetLayerByName( OGRDataSourceH hDS, const char* pszLayerName,
00087                                   OGRLayerH hLayer );
00088 void OGRAPISpy_DS_ExecuteSQL( OGRDataSourceH hDS, 
00089                               const char *pszStatement,
00090                               OGRGeometryH hSpatialFilter,
00091                               const char *pszDialect,
00092                               OGRLayerH hLayer);
00093 void OGRAPISpy_DS_ReleaseResultSet( OGRDataSourceH hDS, OGRLayerH hLayer);
00094 
00095 void OGRAPISpy_DS_CreateLayer( OGRDataSourceH hDS, 
00096                                const char * pszName,
00097                                OGRSpatialReferenceH hSpatialRef,
00098                                OGRwkbGeometryType eType,
00099                                char ** papszOptions,
00100                                OGRLayerH hLayer);
00101 void OGRAPISpy_DS_DeleteLayer( OGRDataSourceH hDS, int iLayer );
00102 
00103 void OGRAPISpy_Dataset_StartTransaction( GDALDatasetH hDS, int bForce );
00104 void OGRAPISpy_Dataset_CommitTransaction( GDALDatasetH hDS );
00105 void OGRAPISpy_Dataset_RollbackTransaction( GDALDatasetH hDS );
00106 
00107 void OGRAPISpy_L_GetFeatureCount( OGRLayerH hLayer, int bForce );
00108 void OGRAPISpy_L_GetExtent( OGRLayerH hLayer, int bForce );
00109 void OGRAPISpy_L_GetExtentEx( OGRLayerH hLayer, int iGeomField, int bForce );
00110 void OGRAPISpy_L_SetAttributeFilter( OGRLayerH hLayer, const char* pszFilter );
00111 void OGRAPISpy_L_GetFeature( OGRLayerH hLayer, GIntBig nFeatureId );
00112 void OGRAPISpy_L_SetNextByIndex( OGRLayerH hLayer, GIntBig nIndex );
00113 void OGRAPISpy_L_GetNextFeature( OGRLayerH hLayer );
00114 void OGRAPISpy_L_SetFeature( OGRLayerH hLayer, OGRFeatureH hFeat );
00115 void OGRAPISpy_L_CreateFeature( OGRLayerH hLayer, OGRFeatureH hFeat );
00116 void OGRAPISpy_L_CreateField( OGRLayerH hLayer, OGRFieldDefnH hField, 
00117                               int bApproxOK );
00118 void OGRAPISpy_L_DeleteField( OGRLayerH hLayer, int iField );
00119 void OGRAPISpy_L_ReorderFields( OGRLayerH hLayer, int* panMap );
00120 void OGRAPISpy_L_ReorderField( OGRLayerH hLayer, int iOldFieldPos,
00121                                int iNewFieldPos );
00122 void OGRAPISpy_L_AlterFieldDefn( OGRLayerH hLayer, int iField,
00123                                  OGRFieldDefnH hNewFieldDefn,
00124                                  int nFlags );
00125 void OGRAPISpy_L_CreateGeomField( OGRLayerH hLayer, OGRGeomFieldDefnH hField, 
00126                                   int bApproxOK );
00127 void OGRAPISpy_L_StartTransaction( OGRLayerH hLayer );
00128 void OGRAPISpy_L_CommitTransaction( OGRLayerH hLayer );
00129 void OGRAPISpy_L_RollbackTransaction( OGRLayerH hLayer );
00130 void OGRAPISpy_L_GetLayerDefn( OGRLayerH hLayer );
00131 void OGRAPISpy_L_FindFieldIndex( OGRLayerH hLayer, const char *pszFieldName,
00132                                  int bExactMatch );
00133 void OGRAPISpy_L_GetSpatialRef( OGRLayerH hLayer );
00134 void OGRAPISpy_L_TestCapability( OGRLayerH hLayer, const char* pszCap );
00135 void OGRAPISpy_L_GetSpatialFilter( OGRLayerH hLayer );
00136 void OGRAPISpy_L_SetSpatialFilter( OGRLayerH hLayer, OGRGeometryH hGeom );
00137 void OGRAPISpy_L_SetSpatialFilterEx( OGRLayerH hLayer, int iGeomField,
00138                                      OGRGeometryH hGeom );
00139 void OGRAPISpy_L_SetSpatialFilterRect( OGRLayerH hLayer,
00140                                        double dfMinX, double dfMinY, 
00141                                        double dfMaxX, double dfMaxY);
00142 void OGRAPISpy_L_SetSpatialFilterRectEx( OGRLayerH hLayer, int iGeomField,
00143                                          double dfMinX, double dfMinY, 
00144                                          double dfMaxX, double dfMaxY);
00145 void OGRAPISpy_L_ResetReading( OGRLayerH hLayer );
00146 void OGRAPISpy_L_SyncToDisk( OGRLayerH hLayer );
00147 void OGRAPISpy_L_DeleteFeature( OGRLayerH hLayer, GIntBig nFID );
00148 void OGRAPISpy_L_GetFIDColumn( OGRLayerH hLayer );
00149 void OGRAPISpy_L_GetGeometryColumn( OGRLayerH hLayer );
00150 void OGRAPISpy_L_GetName( OGRLayerH hLayer );
00151 void OGRAPISpy_L_GetGeomType( OGRLayerH hLayer );
00152 void OGRAPISpy_L_SetIgnoredFields( OGRLayerH hLayer,
00153                                    const char** papszIgnoredFields );
00154 
00155 void OGRAPISpy_FD_GetGeomType(OGRFeatureDefnH hDefn);
00156 void OGRAPISpy_FD_GetFieldCount(OGRFeatureDefnH hDefn);
00157 void OGRAPISpy_FD_GetFieldDefn(OGRFeatureDefnH hDefn, int iField,
00158                                OGRFieldDefnH hGeomField);
00159 void OGRAPISpy_FD_GetFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName);
00160 
00161 void OGRAPISpy_Fld_GetXXXX(OGRFieldDefnH hField, const char* pszOp);
00162 
00163 void OGRAPISpy_FD_GetGeomFieldCount(OGRFeatureDefnH hDefn);
00164 void OGRAPISpy_FD_GetGeomFieldDefn(OGRFeatureDefnH hDefn, int iGeomField,
00165                                    OGRGeomFieldDefnH hGeomField);
00166 void OGRAPISpy_FD_GetGeomFieldIndex(OGRFeatureDefnH hDefn, const char* pszFieldName);
00167 void OGRAPISpy_GFld_GetXXXX(OGRGeomFieldDefnH hGeomField, const char* pszOp);
00168 
00169 CPL_C_END
00170 
00171 #endif /* OGRAPISPY_ENABLED */
00172 
00173 #endif /*  _OGRAPISPY_H_INCLUDED */

Generated for GDAL by doxygen 1.7.6.1.