|
GDAL
|
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 */
1.7.6.1.