vala r1203 - in trunk: . vala vapi vapi/packages/gnome-keyring-1 vapigen



Author: juergbi
Date: Sun Apr 13 13:30:03 2008
New Revision: 1203
URL: http://svn.gnome.org/viewvc/vala?rev=1203&view=rev

Log:
2008-04-13  Juerg Billeter  <j bitron ch>

	* vala/valadatatype.vala: don't use `weak' for value types used as
	  type arguments

	* vapigen/valagidlparser.vala: add metadata attribute to specify
	  type arguments

	* vapi/packages/gnome-keyring-1/: fix
	  gnome_keyring_list_item_ids_sync binding, fixes bug 527230

	* vapi/gnome-keyring-1.vapi: regenerated


Modified:
   trunk/ChangeLog
   trunk/vala/valadatatype.vala
   trunk/vapi/gnome-keyring-1.vapi
   trunk/vapi/packages/gnome-keyring-1/gnome-keyring-1.metadata
   trunk/vapigen/valagidlparser.vala

Modified: trunk/vala/valadatatype.vala
==============================================================================
--- trunk/vala/valadatatype.vala	(original)
+++ trunk/vala/valadatatype.vala	Sun Apr 13 13:30:03 2008
@@ -208,7 +208,7 @@
 				} else {
 					first = false;
 				}
-				if (!type_arg.takes_ownership) {
+				if (type_arg.is_reference_type_or_type_parameter () && !type_arg.takes_ownership) {
 					s += "weak ";
 				}
 				if (type_arg.data_type != null) {

Modified: trunk/vapi/gnome-keyring-1.vapi
==============================================================================
--- trunk/vapi/gnome-keyring-1.vapi	(original)
+++ trunk/vapi/gnome-keyring-1.vapi	Sun Apr 13 13:30:03 2008
@@ -2,38 +2,38 @@
 
 [CCode (cprefix = "GnomeKeyring", lower_case_cprefix = "gnome_keyring_")]
 namespace GnomeKeyring {
-	[CCode (cprefix = "GNOME_KEYRING_ACCESS_", cheader_filename = "gnome-keyring.h")]
+	[CCode (cprefix = "GNOME_KEYRING_ACCESS_", has_type_id = "0", cheader_filename = "gnome-keyring.h")]
 	public enum AccessRestriction {
 		ASK,
 		DENY,
-		ALLOW,
+		ALLOW
 	}
-	[CCode (cprefix = "GNOME_KEYRING_ACCESS_", cheader_filename = "gnome-keyring.h")]
+	[CCode (cprefix = "GNOME_KEYRING_ACCESS_", has_type_id = "0", cheader_filename = "gnome-keyring.h")]
 	public enum AccessType {
 		READ,
 		WRITE,
-		REMOVE,
+		REMOVE
 	}
-	[CCode (cprefix = "GNOME_KEYRING_ATTRIBUTE_TYPE_", cheader_filename = "gnome-keyring.h")]
+	[CCode (cprefix = "GNOME_KEYRING_ATTRIBUTE_TYPE_", has_type_id = "0", cheader_filename = "gnome-keyring.h")]
 	public enum AttributeType {
 		STRING,
-		UINT32,
+		UINT32
 	}
-	[CCode (cprefix = "GNOME_KEYRING_ITEM_INFO_", cheader_filename = "gnome-keyring.h")]
+	[CCode (cprefix = "GNOME_KEYRING_ITEM_INFO_", has_type_id = "0", cheader_filename = "gnome-keyring.h")]
 	public enum ItemInfoFlags {
 		BASICS,
-		SECRET,
+		SECRET
 	}
-	[CCode (cprefix = "GNOME_KEYRING_ITEM_", cheader_filename = "gnome-keyring.h")]
+	[CCode (cprefix = "GNOME_KEYRING_ITEM_", has_type_id = "0", cheader_filename = "gnome-keyring.h")]
 	public enum ItemType {
 		GENERIC_SECRET,
 		NETWORK_PASSWORD,
 		NOTE,
 		CHAINED_KEYRING_PASSWORD,
 		ENCRYPTION_KEY_PASSWORD,
-		LAST_TYPE,
+		LAST_TYPE
 	}
-	[CCode (cprefix = "GNOME_KEYRING_RESULT_", cheader_filename = "gnome-keyring.h")]
+	[CCode (cprefix = "GNOME_KEYRING_RESULT_", has_type_id = "0", cheader_filename = "gnome-keyring.h")]
 	public enum Result {
 		OK,
 		DENIED,
@@ -44,7 +44,7 @@
 		IO_ERROR,
 		CANCELLED,
 		KEYRING_ALREADY_EXISTS,
-		NO_MATCH,
+		NO_MATCH
 	}
 	[CCode (copy_function = "gnome_keyring_access_control_copy", cheader_filename = "gnome-keyring.h")]
 	public class AccessControl {
@@ -250,7 +250,7 @@
 	[CCode (cheader_filename = "gnome-keyring.h")]
 	public static pointer list_item_ids (string keyring, GnomeKeyring.OperationGetListCallback callback, GLib.DestroyNotify destroy_data);
 	[CCode (cheader_filename = "gnome-keyring.h")]
-	public static GnomeKeyring.Result list_item_ids_sync (string keyring, GLib.List ids);
+	public static GnomeKeyring.Result list_item_ids_sync (string keyring, GLib.List<uint> ids);
 	[CCode (cheader_filename = "gnome-keyring.h")]
 	public static pointer list_keyring_names (GnomeKeyring.OperationGetListCallback callback, GLib.DestroyNotify destroy_data);
 	[CCode (cheader_filename = "gnome-keyring.h")]

Modified: trunk/vapi/packages/gnome-keyring-1/gnome-keyring-1.metadata
==============================================================================
--- trunk/vapi/packages/gnome-keyring-1/gnome-keyring-1.metadata	(original)
+++ trunk/vapi/packages/gnome-keyring-1/gnome-keyring-1.metadata	Sun Apr 13 13:30:03 2008
@@ -22,6 +22,7 @@
 gnome_keyring_create.data hidden="1"
 gnome_keyring_ delete data hidden="1"
 gnome_keyring_list_item_ids.data hidden="1"
+gnome_keyring_list_item_ids_sync.ids type_arguments="uint"
 gnome_keyring_list_keyring_names.data hidden="1"
 
 #find item api

Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala	(original)
+++ trunk/vapigen/valagidlparser.vala	Sun Apr 13 13:30:03 2008
@@ -1262,6 +1262,13 @@
 					}
 				} else if (nv[0] == "type_name") {
 					return_type.unresolved_symbol = new UnresolvedSymbol (null, eval (nv[1]));
+				} else if (nv[0] == "type_arguments") {
+					var type_args = eval (nv[1]).split (",");
+					foreach (string type_arg in type_args) {
+						var arg_type = new UnresolvedType.from_symbol (new UnresolvedSymbol (null, type_arg));
+						arg_type.takes_ownership = true;
+						return_type.add_type_argument (arg_type);
+					}
 				}
 			}
 		}
@@ -1346,6 +1353,13 @@
 						array_length_pos = eval (nv[1]).to_double ();
 					} else if (nv[0] == "type_name") {
 						param_type.unresolved_symbol = new UnresolvedSymbol (null, eval (nv[1]));
+					} else if (nv[0] == "type_arguments") {
+						var type_args = eval (nv[1]).split (",");
+						foreach (string type_arg in type_args) {
+							var arg_type = new UnresolvedType.from_symbol (new UnresolvedSymbol (null, type_arg));
+							arg_type.takes_ownership = true;
+							param_type.add_type_argument (arg_type);
+						}
 					}
 				}
 			}



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