[GRASS-SVN] r56200 - in grass/trunk: include/defs lib/db/dbmi_client

svn_grass at osgeo.org svn_grass at osgeo.org
Sat May 11 08:08:27 PDT 2013


Author: martinl
Date: 2013-05-11 08:08:27 -0700 (Sat, 11 May 2013)
New Revision: 56200

Added:
   grass/trunk/lib/db/dbmi_client/handler.c
Modified:
   grass/trunk/include/defs/dbmi.h
Log:
dbmi: add db_set_error_handler_driver()


Modified: grass/trunk/include/defs/dbmi.h
===================================================================
--- grass/trunk/include/defs/dbmi.h	2013-05-11 13:37:39 UTC (rev 56199)
+++ grass/trunk/include/defs/dbmi.h	2013-05-11 15:08:27 UTC (rev 56200)
@@ -331,6 +331,7 @@
 int db_set_default_connection(void);
 void db_set_error_who(const char *);
 int db_set_handle(dbHandle *, const char *, const char *);
+void db_set_error_handler_driver(dbDriver *);
 int db_set_index_column_name(dbIndex *, int,
 			     const char *);
 int db_set_index_name(dbIndex *, const char *);

Added: grass/trunk/lib/db/dbmi_client/handler.c
===================================================================
--- grass/trunk/lib/db/dbmi_client/handler.c	                        (rev 0)
+++ grass/trunk/lib/db/dbmi_client/handler.c	2013-05-11 15:08:27 UTC (rev 56200)
@@ -0,0 +1,42 @@
+/*!
+  \file lib/db/dbmi_client/handler.c
+
+  \brief DBMI Library (client) - standard error handlers
+
+  (C) 2013 by the GRASS Development Team
+  
+  This program is free software under the GNU General Public License
+  (>=v2). Read the file COPYING that comes with GRASS for details.
+  
+  \author Martin Landa <landa.martin gmail.com>
+*/
+
+#include <grass/gis.h>
+#include <grass/dbmi.h>
+
+static void error_handler_driver(void *p)
+{
+    dbDriver *driver;
+
+    driver = (dbDriver *) p;
+    
+    db_close_database(driver);
+    db_shutdown_driver(driver);
+}
+
+/*!
+  \brief Define standard error handler for open database connection
+
+  This handler:
+   - close database connection
+   - shutdown db driver
+  
+  Note: It's recommended to call this routine after
+  db_start_driver_open_database().
+
+  \param driver DB driver
+*/
+void db_set_error_handler_driver(dbDriver *driver)
+{
+    G_add_error_handler(error_handler_driver, driver);
+}


Property changes on: grass/trunk/lib/db/dbmi_client/handler.c
___________________________________________________________________
Added: svn:mime-type
   + text/x-csrc
Added: svn:eol-style
   + native



More information about the grass-commit mailing list