OGRDataSourceH OGROpen( const char *pszName, int bUpdate, OGRSFDriverH *pahDriverList ) { VALIDATE_POINTER1( pszName, "OGROpen", NULL ); #ifdef OGRAPISPY_ENABLED int iSnapshot = OGRAPISpyOpenTakeSnapshot(pszName, bUpdate); #endif GDALDatasetH hDS = GDALOpenEx(pszName, GDAL_OF_VECTOR | ((bUpdate) ? GDAL_OF_UPDATE: 0), NULL, NULL, NULL); if( hDS != NULL && pahDriverList != NULL ) *pahDriverList = (OGRSFDriverH) GDALGetDatasetDriver(hDS); #ifdef OGRAPISPY_ENABLED OGRAPISpyOpen(pszName, bUpdate, iSnapshot, &hDS); #endif return (OGRDataSourceH) hDS; }
OGRDataSourceH OGR_Dr_Open( OGRSFDriverH hDriver, const char *pszName, int bUpdate ) { VALIDATE_POINTER1( hDriver, "OGR_Dr_Open", NULL ); const char* const apszDrivers[] = { ((GDALDriver*)hDriver)->GetDescription(), NULL }; #ifdef OGRAPISPY_ENABLED int iSnapshot = OGRAPISpyOpenTakeSnapshot(pszName, bUpdate); #endif GDALDatasetH hDS = GDALOpenEx(pszName, GDAL_OF_VECTOR | ((bUpdate) ? GDAL_OF_UPDATE: 0), apszDrivers, NULL, NULL); #ifdef OGRAPISPY_ENABLED OGRAPISpyOpen(pszName, bUpdate, iSnapshot, &hDS); #endif return (OGRDataSourceH) hDS; }