[libgda] Added new API to GdaMetaContext to convert it to an opaque struct.



commit ba3f677d5fe3445ea1bf9a04d50bc069545969a7
Author: Daniel Espinosa <despinosa src gnome org>
Date:   Fri Feb 3 15:13:24 2012 -0600

    Added new API to GdaMetaContext to convert it to an opaque struct.
    
    * Added a new member to GdaMetaContext as GHashTable to hold column/value pairs, new
    API use it to store/get column/value pair. Hope this changes don't modify interal use
    of GdaMetaContext to allow slowly porting
    
    * Some GI annotations fixes

 libgda/Gda-5.0.gir      |  104 ++++++++++++++++++++++++++++++-
 libgda/gda-meta-store.c |  155 +++++++++++++++++++++++++++++++++++++++++++++--
 libgda/gda-meta-store.h |   26 ++++++++
 libgda/gda-types.c      |   14 ----
 libgda/gda-types.h      |    5 --
 libgda/libgda-5.0.vapi  |   69 +++------------------
 libgda/libgda.symbols   |    6 ++
 7 files changed, 291 insertions(+), 88 deletions(-)
---
diff --git a/libgda/Gda-5.0.gir b/libgda/Gda-5.0.gir
index d8eba24..8e6404c 100644
--- a/libgda/Gda-5.0.gir
+++ b/libgda/Gda-5.0.gir
@@ -10204,7 +10204,16 @@ This function can be used even if g_thread_init() has not yet been called, and,
     <record name="MetaContext" c:type="GdaMetaContext">
       <doc xml:whitespace="preserve">The &lt;structname&gt;GdaMetaContext&lt;/structname&gt; represents a meta data modification
 context: the &lt;emphasis&gt;how&lt;/emphasis&gt; when used with gda_meta_store_modify_with_context(),
-and the &lt;emphasis&gt;what&lt;/emphasis&gt; when used with gda_connection_update_meta_store().</doc>
+and the &lt;emphasis&gt;what&lt;/emphasis&gt; when used with gda_connection_update_meta_store().
+
+To create a new #GdaMetaContext use #gda_meta_context_new. 
+
+To add a new column/value pair use #gda_meta_context_add_column.
+
+To free a #GdaMetaContext, created by #gda_meta_context_new, use #gda_attributes_manager_free.
+
+Since 5.2, you must consider this struct as opaque. Any access to its internal must use public API.
+Don't try to use #gda_meta_context_free on a struct that was created manually.</doc>
       <field name="table_name" writable="1">
         <type name="utf8" c:type="gchar*"/>
       </field>
@@ -10217,6 +10226,93 @@ and the &lt;emphasis&gt;what&lt;/emphasis&gt; when used with gda_connection_upda
       <field name="column_values" writable="1">
         <type name="GObject.Value" c:type="GValue**"/>
       </field>
+      <field name="columns" introspectable="0" writable="1">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="utf8"/>
+          <type name="GLib.GValue"/>
+        </type>
+      </field>
+      <method name="add_column" c:identifier="gda_meta_context_add_column">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="column" transfer-ownership="none">
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+          <parameter name="value" transfer-ownership="none">
+            <type name="GObject.Value" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="free" c:identifier="gda_meta_context_free" version="5.2">
+        <doc xml:whitespace="preserve">Frees any resources taken by @ctx struct.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+      <method name="get_table"
+              c:identifier="gda_meta_context_get_table"
+              version="5.2">
+        <doc xml:whitespace="preserve">Get table's name to used in the context.</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:whitespace="preserve">A string with the table's name used in the context.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+      </method>
+      <method name="set_columns"
+              c:identifier="gda_meta_context_set_columns"
+              version="5.2"
+              introspectable="0">
+        <doc xml:whitespace="preserve">Set columns to use in the context. The #GHashTable use column's name as key and a #GValue as value,
+to represent its value.
+
+ columns incements its reference counting. Is recommended to use #gda_meta_context_free in order to free them.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="columns" transfer-ownership="none">
+            <doc xml:whitespace="preserve">a #GHashTable with the table's columns' name and their values to use in context.</doc>
+            <type name="GLib.HashTable" c:type="GHashTable*">
+              <type name="utf8"/>
+              <type name="GLib.Value"/>
+            </type>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_table"
+              c:identifier="gda_meta_context_set_table"
+              version="5.2">
+        <doc xml:whitespace="preserve">Set table's name to use in the context.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="table" transfer-ownership="none">
+            <doc xml:whitespace="preserve">a string with the table's name to use in context</doc>
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <function name="new"
+                c:identifier="gda_meta_context_new"
+                version="5.2"
+                introspectable="0">
+        <doc xml:whitespace="preserve">Creates a new #GdaMetaContext struct with a #GHashTable to store column/value pairs, using
+given @table in the context.
+
+store column name/value pairs.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:whitespace="preserve">a new #GdaMetaContext struct with a copied table's name and a new created hash to</doc>
+          <type name="MetaContext" c:type="GdaMetaContext*"/>
+        </return-value>
+        <parameters>
+          <parameter name="table_name" transfer-ownership="none">
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+        </parameters>
+      </function>
     </record>
     <record name="MetaDbObject" c:type="GdaMetaDbObject">
       <doc xml:whitespace="preserve">Struture to hold information about each database object (tables, views, ...),
@@ -10956,7 +11052,7 @@ See gda_meta_store_declare_foreign_key() for more information anout the @catalog
       <field name="priv">
         <type name="MetaStorePrivate" c:type="GdaMetaStorePrivate*"/>
       </field>
-      <glib:signal name="meta-changed" when="first" introspectable="0">
+      <glib:signal name="meta-changed" when="first">
         <doc xml:whitespace="preserve">This signal is emitted when the @store's contents have changed (the changes are in the @changes list)</doc>
         <return-value transfer-ownership="none">
           <type name="none"/>
@@ -10964,7 +11060,9 @@ See gda_meta_store_declare_foreign_key() for more information anout the @catalog
         <parameters>
           <parameter name="changes" transfer-ownership="none">
             <doc xml:whitespace="preserve">a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)</doc>
-            <type/>
+            <type name="GLib.SList">
+              <type name="MetaStoreChange"/>
+            </type>
           </parameter>
         </parameters>
       </glib:signal>
diff --git a/libgda/gda-meta-store.c b/libgda/gda-meta-store.c
index 0e4ca61..1f9828d 100644
--- a/libgda/gda-meta-store.c
+++ b/libgda/gda-meta-store.c
@@ -65,6 +65,151 @@
 #include "gda-data-meta-wrapper.h"
 
 /*
+   Register GdaMetaContext type
+*/
+GType
+_gda_meta_context_get_type (void)
+{
+	static GType type = 0;
+
+	if (G_UNLIKELY (type == 0)) {
+		static GStaticMutex registering = G_STATIC_MUTEX_INIT;
+		g_static_mutex_lock (&registering);
+                if (type == 0)
+			type = g_pointer_type_register_static ("GdaMetaContext");
+		g_static_mutex_unlock (&registering);
+	}
+
+	return type;
+}
+
+/*
+	IMPLEMENTATION NOTES:
+	In this implementation, for 5.2, the new API for GdaMetaContext struct doesn't touch size, column_names and
+	column_values members, but added a HashTable member in order to make more easy to access to column/value
+	elements.
+	
+	Take care about to use gda_meta_context_free or g_free on this struct if you don't use the new API because 
+	unexpected results.
+	
+	Changes include: table string is copied and columns are stored in a GHashTable witch it's reference counting
+	is incremented. When is freed, table string is freed and hash ref is decremented.
+*/
+
+
+/**
+ * gda_meta_context_new:
+ * @ctx: a #GdaMetaContext struct to add column/value pais to
+ * @table: (transfer none): the column's value
+ * 
+ * Creates a new #GdaMetaContext struct with a #GHashTable to store column/value pairs, using
+ * given @table in the context.
+ *
+ * Return: (transfer full): a new #GdaMetaContext struct with a copied table's name and a new created hash to
+ * store column name/value pairs.
+ *
+ * Since: 5.2
+ */
+GdaMetaContext*
+gda_meta_context_new (const gchar* table_name)
+{
+	g_return_if_fail (table_name);
+	GdaMetaContext *ctx = g_new0 (GdaMetaContext, 1);
+	ctx->table_name = g_strdup (table_name);
+	ctx->columns = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, 
+							(GDestroyNotify) gda_value_free);
+	return ctx;
+}
+/**
+ * gda_meta_context_set_table:
+ * @ctx: a #GdaMetaContext struct to set table to
+ * @table: a string with the table's name to use in context
+ * 
+ * Set table's name to use in the context.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_set_table (GdaMetaContext *ctx, const gchar *table_name)
+{
+	g_return_if_fail (ctx && table_name);
+	ctx->table_name = g_strdup (table_name);
+}
+
+/**
+ * gda_meta_context_get_table:
+ * @ctx: a #GdaMetaContext struct to get table's name from
+ * 
+ * Get table's name to used in the context.
+ *
+ * Return: (transfer none): A string with the table's name used in the context.
+ *
+ * Since: 5.2
+ */
+const gchar*
+gda_meta_context_get_table (GdaMetaContext *ctx)
+{
+	g_return_if_fail (ctx);
+	return ctx->table_name;
+}
+
+/**
+ * gda_meta_context_insert_column:
+ * @ctx: a #GdaMetaContext struct to add column/value pais to
+ * @column: (transfer none): the column's name
+ * @value: (transfer none): the column's value
+ * 
+ * Insert a new column/value pair to the given context @ctx. Column's name and value is copied and destroied
+ * when #gda_meta_context_free is called.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_add_column (GdaMetaContext *ctx, const gchar* column, const GValue* value)
+{
+	g_return_if_fail (column && value);
+	g_hash_table_insert (ctx->columns, (gpointer) g_strdup (column), (gpointer) gda_value_copy (value));
+}
+
+/**
+ * gda_meta_context_set_columns:
+ * @ctx: a #GdaMetaContext struct to set colums to
+ * @columns: (element-type utf8 GLib.Value): a #GHashTable with the table's columns' name and their values
+ * to use in context.
+ * 
+ * Set columns to use in the context. The #GHashTable use column's name as key and a #GValue as value,
+ * to represent its value.
+ * 
+ * @columns incements its reference counting. Is recommended to use #gda_meta_context_free in order to free them.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_set_columns (GdaMetaContext *ctx, GHashTable *columns)
+{
+	g_return_if_fail (ctx && columns);
+	g_hash_table_unref (ctx->columns);
+	ctx->columns = g_hash_table_ref (columns);
+}
+
+/**
+ * gda_meta_context_free:
+ * @ctx: a #GdaMetaContext struct to free
+ * 
+ * Frees any resources taken by @ctx struct.
+ *
+ * Since: 5.2
+ */
+void
+gda_meta_context_free (GdaMetaContext *ctx)
+{
+	g_return_if_fail (ctx);
+	g_free (ctx->table_name);
+	g_hash_table_unref (ctx->columns);
+	g_free (ctx);
+}
+
+/*
  * Main static functions
  */
 static void gda_meta_store_class_init (GdaMetaStoreClass *klass);
@@ -385,7 +530,7 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
 	parent_class = g_type_class_peek_parent (klass);
 
 	/**
-	 * GdaMetaStore::suggest-update
+	 * GdaMetaStore::suggest-update:
 	 * @store: the #GdaMetaStore instance that emitted the signal
 	 * @suggest: the suggested update, as a #GdaMetaContext structure
 	 *
@@ -405,9 +550,9 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
 		_gda_marshal_ERROR__METACONTEXT, G_TYPE_ERROR,
 		1, GDA_TYPE_META_CONTEXT);
 	/**
-	 * GdaMetaStore::meta-changed
+	 * GdaMetaStore::meta-changed:
 	 * @store: the #GdaMetaStore instance that emitted the signal
-	 * @changes: (element-type Gda.MetaStoreChange): a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)
+	 * @changes: (type GLib.SList) (element-type Gda.MetaStoreChange): a list of changes made, as a #GSList of pointers to #GdaMetaStoreChange (which must not be modified)
 	 *
 	 * This signal is emitted when the @store's contents have changed (the changes are in the @changes list)
 	 */
@@ -418,9 +563,9 @@ gda_meta_store_class_init (GdaMetaStoreClass *klass)
 		G_STRUCT_OFFSET (GdaMetaStoreClass, meta_changed),
 		NULL, NULL,
 		_gda_marshal_VOID__SLIST, G_TYPE_NONE,
-		1, GDA_TYPE_SLIST);
+		1, G_TYPE_POINTER);
 	/**
-	 * GdaMetaStore::meta-reset
+	 * GdaMetaStore::meta-reset:
 	 * @store: the #GdaMetaStore instance that emitted the signal
 	 *
 	 * This signal is emitted when the @store's contents have been reset completely and when
diff --git a/libgda/gda-meta-store.h b/libgda/gda-meta-store.h
index f9f2d61..c9a5c38 100644
--- a/libgda/gda-meta-store.h
+++ b/libgda/gda-meta-store.h
@@ -69,22 +69,39 @@ typedef struct {
 	                               * value = a GValue pointer */
 } GdaMetaStoreChange;
 
+
+/* Pointer type for GdaMetaContext (not a boxed type!) */
+#define GDA_TYPE_META_CONTEXT (_gda_meta_context_get_type())
+
 /**
  * GdaMetaContext:
  * @table_name: the name of the table <emphasis>in the GdaMetaStore's internal database</emphasis>
  * @size: the size of the @column_names and @column_values arrays
  * @column_names: (array length=size): an array of column names (columns of the @table_name table)
  * @column_values: (array length=size): an array of values, one for each column named in @column_names
+ * @columns: (element-type utf8 GLib.GValue): A #GHashTable storing columns' name as key and #GValue as column's
+ * value.
  *
  * The <structname>GdaMetaContext</structname> represents a meta data modification
  * context: the <emphasis>how</emphasis> when used with gda_meta_store_modify_with_context(),
  * and the <emphasis>what</emphasis> when used with gda_connection_update_meta_store().
+ *
+ * To create a new #GdaMetaContext use #gda_meta_context_new. 
+ *
+ * To add a new column/value pair use #gda_meta_context_add_column.
+ * 
+ * To free a #GdaMetaContext, created by #gda_meta_context_new, use #gda_attributes_manager_free.
+ *
+ * Since 5.2, you must consider this struct as opaque. Any access to its internal must use public API.
+ * Don't try to use #gda_meta_context_free on a struct that was created manually.
  */
 typedef struct {
 	gchar                  *table_name;
 	gint                    size;
 	gchar                 **column_names;
 	GValue                **column_values;
+	/* Added since 5.2 */
+	GHashTable             *columns;
 } GdaMetaContext;
 
 /* struct for the object's data */
@@ -184,6 +201,15 @@ gboolean          gda_meta_store_undeclare_foreign_key    (GdaMetaStore *store,
 							   const gchar *ref_catalog, const gchar *ref_schema, const gchar *ref_table,
 							   GError **error);
 
+GType             _gda_meta_context_get_type              (void) G_GNUC_CONST;
+GdaMetaContext*   gda_meta_context_new                    (const gchar* table_name);
+void              gda_meta_context_set_table              (GdaMetaContext *ctx, const gchar *table);
+const gchar*      gda_meta_context_get_table              (GdaMetaContext *ctx);
+void              gda_meta_context_add_column             (GdaMetaContext *ctx, const gchar* column, 
+                               const GValue* value);
+void              gda_meta_context_set_columns            (GdaMetaContext *ctx, GHashTable *columns);
+void              gda_meta_context_free                   (GdaMetaContext *ctx);
+
 G_END_DECLS
 
 #endif
diff --git a/libgda/gda-types.c b/libgda/gda-types.c
index 66c2fe7..97f28dd 100644
--- a/libgda/gda-types.c
+++ b/libgda/gda-types.c
@@ -36,18 +36,4 @@ _gda_slist_get_type (void)
 	return type;
 }
 
-GType
-_gda_meta_context_get_type (void)
-{
-	static GType type = 0;
-
-	if (G_UNLIKELY (type == 0)) {
-		static GStaticMutex registering = G_STATIC_MUTEX_INIT;
-		g_static_mutex_lock (&registering);
-                if (type == 0)
-			type = g_pointer_type_register_static ("GdaMetaContext");
-		g_static_mutex_unlock (&registering);
-	}
 
-	return type;
-}
diff --git a/libgda/gda-types.h b/libgda/gda-types.h
index da34e47..5be9278 100644
--- a/libgda/gda-types.h
+++ b/libgda/gda-types.h
@@ -37,11 +37,6 @@ G_BEGIN_DECLS
 typedef GSList GdaSList;
 GType   _gda_slist_get_type (void) G_GNUC_CONST;
 
-/* Pointer type for GdaMetaContext (not a boxed type!) */
-#define GDA_TYPE_META_CONTEXT (_gda_meta_context_get_type())
-GType   _gda_meta_context_get_type (void) G_GNUC_CONST;
-
-
 G_END_DECLS
 
 #endif
diff --git a/libgda/libgda-5.0.vapi b/libgda/libgda-5.0.vapi
index 7a0bbbf..80fc32b 100644
--- a/libgda/libgda-5.0.vapi
+++ b/libgda/libgda-5.0.vapi
@@ -332,8 +332,8 @@ namespace Gda {
 	}
 	[CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_data_proxy_get_type ()")]
 	public class DataProxy : GLib.Object, Gda.DataModel {
-		[CCode (has_construct_function = false)]
-		protected DataProxy ();
+		[CCode (has_construct_function = false, type = "GObject*")]
+		public DataProxy (Gda.DataModel model);
 		public void alter_value_attributes (int proxy_row, int col, Gda.ValueAttribute alter_flags);
 		public bool apply_all_changes () throws GLib.Error;
 		public bool apply_row_changes (int proxy_row) throws GLib.Error;
@@ -356,7 +356,6 @@ namespace Gda {
 		public GLib.SList<weak GLib.Value> get_values (int proxy_row, [CCode (array_length = false)] int[] cols_index, int n_cols);
 		public bool has_changed ();
 		public bool is_read_only ();
-		public static GLib.Object @new (Gda.DataModel model);
 		public bool row_has_changed (int proxy_row);
 		public bool row_is_deleted (int proxy_row);
 		public bool row_is_inserted (int proxy_row);
@@ -598,6 +597,7 @@ namespace Gda {
 		public Gda.Connection cnc { owned get; construct; }
 		public string cnc_string { construct; }
 		public string schema { construct; }
+		public signal void meta_changed (GLib.SList<Gda.MetaStoreChange> changes);
 		public virtual signal void meta_reset ();
 	}
 	[CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_meta_struct_get_type ()")]
@@ -619,14 +619,6 @@ namespace Gda {
 		[NoAccessorMethod]
 		public Gda.MetaStore meta_store { owned get; construct; }
 	}
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	[Compact]
-	public class Mutex {
-		public void free ();
-		public void @lock ();
-		public bool trylock ();
-		public void unlock ();
-	}
 	[CCode (cheader_filename = "libgda/libgda.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gda_null_get_type ()")]
 	[Compact]
 	public class Null {
@@ -653,6 +645,7 @@ namespace Gda {
 	[CCode (cheader_filename = "libgda/libgda.h", type_id = "gda_pstmt_get_type ()")]
 	public abstract class PStmt : GLib.Object {
 		public int ncols;
+		public weak GLib.SList<string> param_ids;
 		public weak string sql;
 		public GLib.Type types;
 		[CCode (has_construct_function = false)]
@@ -1277,6 +1270,10 @@ namespace Gda {
 		public weak string[] column_names;
 		[CCode (array_length_cname = "size")]
 		public weak GLib.Value[] column_values;
+		public void add_column (string column, GLib.Value value);
+		public void free ();
+		public unowned string get_table ();
+		public void set_table (string table);
 	}
 	[CCode (cheader_filename = "libgda/libgda.h")]
 	public struct MetaDbObject {
@@ -2073,55 +2070,5 @@ namespace Gda {
 	[CCode (cheader_filename = "libgda/libgda.h")]
 	public static int value_differ (GLib.Value value1, GLib.Value value2);
 	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_free (owned GLib.Value? value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static unowned Gda.Binary value_get_binary (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static unowned Gda.Blob value_get_blob (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static unowned Gda.GeometricPoint value_get_geometric_point (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static unowned Gda.Numeric value_get_numeric (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static short value_get_short (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static unowned Gda.Time value_get_time (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static unowned Gda.Timestamp value_get_timestamp (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static ushort value_get_ushort (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static bool value_is_null (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static bool value_is_number (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_reset_with_type (GLib.Value value, GLib.Type type);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_binary (GLib.Value value, Gda.Binary binary);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_blob (GLib.Value value, Gda.Blob blob);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static bool value_set_from_string (GLib.Value value, string as_string, GLib.Type type);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static bool value_set_from_value (GLib.Value value, GLib.Value from);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_geometric_point (GLib.Value value, Gda.GeometricPoint val);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_null (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_numeric (GLib.Value value, Gda.Numeric val);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_short (GLib.Value value, short val);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_time (GLib.Value value, Gda.Time val);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_timestamp (GLib.Value value, Gda.Timestamp val);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_set_ushort (GLib.Value value, ushort val);
-	[CCode (cheader_filename = "libgda/libgda.h")]
 	public static string value_stringify (GLib.Value value);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_take_binary (GLib.Value value, owned Gda.Binary binary);
-	[CCode (cheader_filename = "libgda/libgda.h")]
-	public static void value_take_blob (GLib.Value value, owned Gda.Blob blob);
 }
diff --git a/libgda/libgda.symbols b/libgda/libgda.symbols
index 0b4b2eb..adba3d6 100644
--- a/libgda/libgda.symbols
+++ b/libgda/libgda.symbols
@@ -437,6 +437,12 @@
 	gda_log_error
 	gda_log_is_enabled
 	gda_log_message
+	gda_meta_context_new
+	gda_meta_context_set_table
+	gda_meta_context_get_table
+	gda_meta_context_add_column
+	gda_meta_context_set_columns
+	gda_meta_context_free
 	gda_meta_db_object_type_get_type
 	gda_meta_graph_info_get_type
 	gda_meta_sort_type_get_type



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]