vala r1572 - in trunk: . vala vapi vapi/packages/gstreamer-0.10 vapigen



Author: juergbi
Date: Thu Jun 12 16:35:17 2008
New Revision: 1572
URL: http://svn.gnome.org/viewvc/vala?rev=1572&view=rev

Log:
2008-06-12  JÃrg Billeter  <j bitron ch>

	* vala/valainterfacewriter.vala:
	* vapigen/valagidlparser.vala:

	Support Immutable class attribute

	* vapi/packages/gstreamer-0.10/:

	Mark GstStructure as Immutable as reference-type semantics are not
	desirable

	* vapi/gstreamer-0.10.vapi: regenerated


Modified:
   trunk/ChangeLog
   trunk/vala/valainterfacewriter.vala
   trunk/vapi/gstreamer-0.10.vapi
   trunk/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata
   trunk/vapigen/valagidlparser.vala

Modified: trunk/vala/valainterfacewriter.vala
==============================================================================
--- trunk/vala/valainterfacewriter.vala	(original)
+++ trunk/vala/valainterfacewriter.vala	Thu Jun 12 16:35:17 2008
@@ -107,6 +107,12 @@
 			write_newline ();
 		}
 
+		if (cl.is_immutable) {
+			write_indent ();
+			write_string ("[Immutable]");
+			write_newline ();
+		}
+
 		write_indent ();
 		
 		write_string ("[CCode (");

Modified: trunk/vapi/gstreamer-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-0.10.vapi	Thu Jun 12 16:35:17 2008
@@ -852,7 +852,7 @@
 	}
 	[Compact]
 	[CCode (copy_function = "gst_tag_list_copy", cheader_filename = "gst/gst.h")]
-	public class TagList : GLib.Boxed {
+	public class TagList {
 		public void add (Gst.TagMergeMode mode, string tag);
 		public void add_valist (Gst.TagMergeMode mode, string tag, void* var_args);
 		public void add_valist_values (Gst.TagMergeMode mode, string tag, void* var_args);
@@ -948,7 +948,7 @@
 	}
 	[Compact]
 	[CCode (ref_function = "gst_caps_ref", unref_function = "gst_caps_unref", cheader_filename = "gst/gst.h")]
-	public class Caps : GLib.Boxed {
+	public class Caps {
 		public GLib.Type type;
 		public int refcount;
 		public Gst.CapsFlags flags;
@@ -991,15 +991,15 @@
 	}
 	[Compact]
 	[CCode (cheader_filename = "gst/gst.h")]
-	public class Date : GLib.Boxed {
+	public class Date {
 	}
 	[Compact]
 	[CCode (cheader_filename = "gst/gst.h")]
-	public class GError : GLib.Boxed {
+	public class GError {
 	}
 	[Compact]
 	[CCode (copy_function = "gst_index_entry_copy", cheader_filename = "gst/gst.h")]
-	public class IndexEntry : GLib.Boxed {
+	public class IndexEntry {
 		public Gst.IndexEntryType type;
 		public int id;
 		public void* data;
@@ -1008,7 +1008,7 @@
 	}
 	[Compact]
 	[CCode (copy_function = "gst_segment_copy", cheader_filename = "gst/gst.h")]
-	public class Segment : GLib.Boxed {
+	public class Segment {
 		public double rate;
 		public double abs_rate;
 		public Gst.Format format;
@@ -1033,8 +1033,9 @@
 		public int64 to_stream_time (Gst.Format format, int64 position);
 	}
 	[Compact]
+	[Immutable]
 	[CCode (copy_function = "gst_structure_copy", cheader_filename = "gst/gst.h")]
-	public class Structure : GLib.Boxed {
+	public class Structure {
 		public GLib.Type type;
 		public GLib.Quark name;
 		public int parent_refcount;
@@ -1754,7 +1755,7 @@
 	[SimpleType]
 	public struct ClockTimeDiff : int64 {
 	}
-	[CCode (cname = "GValue", cheader_filename = "gst/gst.h")]
+	[CCode (cname = "GValue", type_id = "G_TYPE_VALUE", cheader_filename = "gst/gst.h")]
 	public struct Value : GLib.Value {
 		public static GLib.Type array_get_type ();
 		public static GLib.Type list_get_type ();

Modified: trunk/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata
==============================================================================
--- trunk/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata	(original)
+++ trunk/vapi/packages/gstreamer-0.10/gstreamer-0.10.metadata	Thu Jun 12 16:35:17 2008
@@ -90,6 +90,7 @@
 GstQueryClass.mini_object_class hidden="1"
 GstStaticCaps base_class="GstCaps"
 GstStaticCaps.caps hidden="1"
+GstStructure is_immutable="1"
 gst_structure_new ellipsis="1"
 gst_structure_set ellipsis="1"
 gst_structure_id_set ellipsis="1"

Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala	(original)
+++ trunk/vapigen/valagidlparser.vala	Thu Jun 12 16:35:17 2008
@@ -425,6 +425,10 @@
 							if (eval (nv[1]) == "1") {
 								return;
 							}
+						} else if (nv[0] == "is_immutable") {
+							if (eval (nv[1]) == "1") {
+								cl.is_immutable = true;
+							}
 						}
 					}
 				}
@@ -675,6 +679,10 @@
 						var nv = attr.split ("=", 2);
 						if (nv[0] == "cheader_filename") {
 							cl.add_cheader_filename (eval (nv[1]));
+						} else if (nv[0] == "is_immutable") {
+							if (eval (nv[1]) == "1") {
+								cl.is_immutable = true;
+							}
 						}
 					}
 				}
@@ -684,9 +692,6 @@
 				current_source_file.add_node (cl);
 			}
 
-			var gboxed_symbol = new UnresolvedSymbol (new UnresolvedSymbol (null, "GLib"), "Boxed");
-			cl.add_base_type (new UnresolvedType.from_symbol (gboxed_symbol));
-
 			current_data_type = cl;
 
 			string ref_function = null;



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