2008-04-13 Jürg 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
+
+2008-04-13 Jürg Billeter <j@bitron.ch>
+
* vala/valaparser.vala: set correct source_reference for property
accessors
[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,
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 {
[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")]
}
} 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);
+ }
}
}
}
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);
+ }
}
}
}