[libgda] Added gda_connection_internal_get_provider_data_error()
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Added gda_connection_internal_get_provider_data_error()
- Date: Sun, 13 Nov 2011 20:00:04 +0000 (UTC)
commit 9bae3b41f18169949820d900812c79a10cf19e0f
Author: Vivien Malerba <malerba gnome-db org>
Date: Fri Nov 11 19:07:14 2011 +0100
Added gda_connection_internal_get_provider_data_error()
doc/C/libgda-sections.txt | 1 +
libgda/gda-connection-private.h | 1 +
libgda/gda-connection.c | 22 +++++++++++++++++++++-
libgda/libgda.symbols | 1 +
4 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/doc/C/libgda-sections.txt b/doc/C/libgda-sections.txt
index eaafa91..7fa8c40 100644
--- a/doc/C/libgda-sections.txt
+++ b/doc/C/libgda-sections.txt
@@ -1587,6 +1587,7 @@ gda_server_provider_load_file_contents
<SUBSECTION>
gda_connection_internal_set_provider_data
gda_connection_internal_get_provider_data
+gda_connection_internal_get_provider_data_error
<SUBSECTION>
gda_connection_add_event
gda_connection_add_event_string
diff --git a/libgda/gda-connection-private.h b/libgda/gda-connection-private.h
index 59643cd..7e4b08a 100644
--- a/libgda/gda-connection-private.h
+++ b/libgda/gda-connection-private.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
*/
void gda_connection_internal_set_provider_data (GdaConnection *cnc, gpointer data, GDestroyNotify destroy_func);
gpointer gda_connection_internal_get_provider_data (GdaConnection *cnc);
+gpointer gda_connection_internal_get_provider_data_error (GdaConnection *cnc, GError **error);
/*
* Connection's events
diff --git a/libgda/gda-connection.c b/libgda/gda-connection.c
index c5fb960..857da47 100644
--- a/libgda/gda-connection.c
+++ b/libgda/gda-connection.c
@@ -6286,11 +6286,31 @@ gda_connection_internal_set_provider_data (GdaConnection *cnc, gpointer data, GD
gpointer
gda_connection_internal_get_provider_data (GdaConnection *cnc)
{
+ return gda_connection_internal_get_provider_data_error (cnc, NULL);
+}
+
+/**
+ * gda_connection_internal_get_provider_data_error: (skip)
+ * @cnc: a #GdaConnection object
+ * @error: (allow-none): a place to store errors, or %NULL
+ *
+ * Get the opaque pointer previously set using gda_connection_internal_set_provider_data().
+ * If it's not set, then add a connection event and returns %NULL
+ *
+ * Returns: (allow-none): the pointer to the opaque structure set using gda_connection_internal_set_provider_data(), or %NULL
+ *
+ * Since: 5.0.2
+ */
+gpointer
+gda_connection_internal_get_provider_data_error (GdaConnection *cnc, GError **error)
+{
gpointer retval;
g_return_val_if_fail (GDA_IS_CONNECTION (cnc), NULL);
retval = cnc->priv->provider_data;
-
+ if (!retval)
+ g_set_error (error, GDA_CONNECTION_ERROR, GDA_CONNECTION_CLOSED_ERROR,
+ _("Connection is closed"));
return retval;
}
diff --git a/libgda/libgda.symbols b/libgda/libgda.symbols
index 5568c18..de1023c 100644
--- a/libgda/libgda.symbols
+++ b/libgda/libgda.symbols
@@ -974,6 +974,7 @@
gda_vconnection_hub_remove
gda_virtual_connection_get_type
gda_virtual_connection_internal_get_provider_data
+ gda_virtual_connection_internal_get_provider_data_error
gda_virtual_connection_internal_set_provider_data
gda_virtual_connection_open
gda_virtual_connection_open_extended
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]