00001 #include "dbmi.h"
00002 #include "macros.h"
00003
00010 dbDriver *
00011 db_start_driver_open_database ( char *drvname, char *dbname )
00012 {
00013 dbHandle handle;
00014 dbDriver *driver;
00015
00016 G_debug ( 3, "db_start_driver_open_database():\n drvname = %s, dbname = %s", drvname, dbname );
00017
00018 db_init_handle (&handle);
00019
00020 driver = db_start_driver(drvname);
00021 if ( driver == NULL) {
00022 G_warning ( "Cannot open driver '%s'", drvname);
00023 return NULL;
00024 }
00025 db_set_handle (&handle, dbname, NULL);
00026 if (db_open_database(driver, &handle) != DB_OK) {
00027 G_warning ( "Cannot open database '%s'", dbname);
00028 db_shutdown_driver(driver);
00029 return NULL;
00030 }
00031
00032 return driver;
00033 }
00034
00041 int
00042 db_close_database_shutdown_driver ( dbDriver *driver )
00043 {
00044 db_close_database(driver);
00045 db_shutdown_driver(driver);
00046
00047 return DB_OK;
00048 }
00049