OGRDataSource *OGRCouchDBDriver::Open( const char * pszFilename, int bUpdate ) { OGRCouchDBDataSource *poDS = new OGRCouchDBDataSource(); if( !poDS->Open( pszFilename, bUpdate ) ) { delete poDS; poDS = NULL; } return poDS; }
OGRDataSource *OGRCouchDBDriver::CreateDataSource( const char * pszName, CPL_UNUSED char **papszOptions ) { OGRCouchDBDataSource *poDS = new OGRCouchDBDataSource(); if( !poDS->Open( pszName, TRUE ) ) { delete poDS; poDS = NULL; } return poDS; }
static GDALDataset* OGRCouchDBDriverOpen( GDALOpenInfo* poOpenInfo ) { if( OGRCouchDBDriverIdentify(poOpenInfo) == 0 ) return NULL; OGRCouchDBDataSource *poDS = new OGRCouchDBDataSource(); if( !poDS->Open( poOpenInfo->pszFilename, poOpenInfo->eAccess == GA_Update ) ) { delete poDS; poDS = NULL; } return poDS; }
static GDALDataset* OGRCouchDBDriverCreate( const char * pszName, int /* nXSize */, int /* nYSize */, int /* nBands */, GDALDataType /* eDT */, char ** /* papszOptions */ ) { OGRCouchDBDataSource *poDS = new OGRCouchDBDataSource(); if( !poDS->Open( pszName, TRUE ) ) { delete poDS; poDS = NULL; } return poDS; }
OGRDataSource *OGRCouchDBDriver::Open( const char * pszFilename, int bUpdate ) { if (strncmp(pszFilename, "http://", 7) == 0 || strncmp(pszFilename, "https://", 8) == 0) { /* ok */ } else if (!EQUALN(pszFilename, "CouchDB:", 8)) return NULL; OGRCouchDBDataSource *poDS = new OGRCouchDBDataSource(); if( !poDS->Open( pszFilename, bUpdate ) ) { delete poDS; poDS = NULL; } return poDS; }