+2008-11-02 Jürg Billeter <j@bitron.ch>
+
+ * vala/valadatatype.vala:
+ * vapi/glib-2.0.vapi:
+
+ Return the right D-Bus type signature for GHashTable,
+ patch by Marc-André Lureau
+
2008-11-02 Jürg Billeter <j@bitron.ch>
* gobject/valaccodegenerator.vala:
*/
public virtual string? get_type_signature () {
if (data_type != null) {
- return data_type.get_type_signature ();
+ string sig = data_type.get_type_signature ();
+
+ var type_args = get_type_arguments ();
+ if (type_args.size > 0) {
+ assert (sig.str ("%s") != null);
+
+ string element_sig = "";
+ foreach (DataType type_arg in type_args) {
+ var s = type_arg.get_type_signature ();
+ if (s != null) {
+ element_sig += s;
+ }
+ }
+
+ sig = sig.printf (element_sig);
+ }
+
+ return sig;
} else {
return null;
}
/* Hash Tables */
[Compact]
- [CCode (ref_function = "g_hash_table_ref", unref_function = "g_hash_table_unref")]
+ [CCode (ref_function = "g_hash_table_ref", unref_function = "g_hash_table_unref", type_signature = "a{%s}")]
public class HashTable<K,V> : Boxed {
public HashTable (HashFunc hash_func, EqualFunc key_equal_func);
public HashTable.full (HashFunc hash_func, EqualFunc key_equal_func, DestroyNotify? key_destroy_func, DestroyNotify? value_destroy_func);