vala r2324 - in trunk: . vala vapi vapi/packages/gtk+-2.0 vapigen



Author: juergbi
Date: Sat Jan 10 14:37:13 2009
New Revision: 2324
URL: http://svn.gnome.org/viewvc/vala?rev=2324&view=rev

Log:
2009-01-10  JÃrg Billeter  <j bitron ch>

	* vala/valacodewriter.vala:
	* vapigen/valagidlparser.vala:

	Support methods returning null-terminated arrays

	* vapi/packages/gtk+-2.0/:

	Fix gtk_selection_data_get_uris binding

	* vapi/gtk+-2.0.vapi: regenerated


Modified:
   trunk/ChangeLog
   trunk/vala/valacodewriter.vala
   trunk/vapi/gtk+-2.0.vapi
   trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata
   trunk/vapigen/valagidlparser.vala

Modified: trunk/vala/valacodewriter.vala
==============================================================================
--- trunk/vala/valacodewriter.vala	(original)
+++ trunk/vala/valacodewriter.vala	Sat Jan 10 14:37:13 2009
@@ -868,6 +868,10 @@
 			ccode_params.append_printf ("%sarray_length_pos = %g", separator, m.carray_length_parameter_position);
 			separator = ", ";
 		}
+		if (m.array_null_terminated && m.return_type is ArrayType) {
+			ccode_params.append_printf ("%sarray_null_terminated = true", separator);
+			separator = ", ";
+		}
 		if (!float_equal (m.cdelegate_target_parameter_position, -3)) {
 			ccode_params.append_printf ("%sdelegate_target_pos = %g", separator, m.cdelegate_target_parameter_position);
 			separator = ", ";

Modified: trunk/vapi/gtk+-2.0.vapi
==============================================================================
--- trunk/vapi/gtk+-2.0.vapi	(original)
+++ trunk/vapi/gtk+-2.0.vapi	Sat Jan 10 14:37:13 2009
@@ -3143,7 +3143,7 @@
 		public Gdk.Pixbuf? get_pixbuf ();
 		public bool get_targets (out Gdk.Atom targets, int n_atoms);
 		public string? get_text ();
-		[CCode (array_length = false)]
+		[CCode (array_length = false, array_null_terminated = true)]
 		public string[] get_uris ();
 		public void set (Gdk.Atom type, int format, uchar[] data);
 		public bool set_pixbuf (Gdk.Pixbuf pixbuf);

Modified: trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata
==============================================================================
--- trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata	(original)
+++ trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata	Sat Jan 10 14:37:13 2009
@@ -301,7 +301,7 @@
 gtk_selection_data_copy transfer_ownership="1"
 gtk_selection_data_get_pixbuf transfer_ownership="1" nullable="1"
 gtk_selection_data_get_text type_name="string" nullable="1" transfer_ownership="1"
-gtk_selection_data_get_uris is_array="1" transfer_ownership="1" no_array_length="1"
+gtk_selection_data_get_uris is_array="1" transfer_ownership="1" array_null_terminated="1"
 gtk_selection_data_set.length hidden="1"
 gtk_selection_data_set_uris.uris is_array="1" no_array_length="1"
 GtkSettings.queued_settings hidden="1"

Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala	(original)
+++ trunk/vapigen/valagidlparser.vala	Sat Jan 10 14:37:13 2009
@@ -1367,6 +1367,11 @@
 					if (eval (nv[1]) == "1") {
 						m.no_array_length = true;
 					}
+				} else if (nv[0] == "array_null_terminated") {
+					if (eval (nv[1]) == "1") {
+						m.no_array_length = true;
+						m.array_null_terminated = true;
+					}
 				} else if (nv[0] == "type_name") {
 					var sym = new UnresolvedSymbol (null, eval (nv[1]));
 					if (return_type is UnresolvedType) {
@@ -1514,6 +1519,11 @@
 						if (eval (nv[1]) == "1") {
 							p.no_array_length = true;
 						}
+					} else if (nv[0] == "array_null_terminated") {
+						if (eval (nv[1]) == "1") {
+							p.no_array_length = true;
+							p.array_null_terminated = true;
+						}
 					} else if (nv[0] == "array_length_pos") {
 						set_array_length_pos = true;
 						array_length_pos = eval (nv[1]).to_double ();



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