diff options
-rw-r--r-- | gupnp-1.0/gupnp-1.0-custom.vala | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/gupnp-1.0/gupnp-1.0-custom.vala b/gupnp-1.0/gupnp-1.0-custom.vala index 9b687f1..1d9eb91 100644 --- a/gupnp-1.0/gupnp-1.0-custom.vala +++ b/gupnp-1.0/gupnp-1.0-custom.vala @@ -20,18 +20,31 @@ */ namespace GUPnP { - + public static void value_list_free (GLib.List<weak GLib.Value*> list) { + foreach (var v in list) { + v->unset (); + GLib.Slice.free (sizeof (GLib.Value), v); + } + } + + public static void value_hash_free (GLib.HashTable<string, weak GLib.Value*> hash) { + hash.for_each ((k, v) => { + v->unset (); + GLib.Slice.free (sizeof (GLib.Value), v); + }); + } + public class ServiceProxy { [CCode (has_construct_function = false)] public ServiceProxy (); public virtual signal void subscription_lost (GLib.Error reason); - public bool end_action_hash (GUPnP.ServiceProxyAction action, [CCode (pos=-0.9)] GLib.HashTable<string, GLib.Value?> hash) throws GLib.Error; - public bool end_action_list (GUPnP.ServiceProxyAction action, [CCode (pos=-0.9)] GLib.List<string> out_names, [CCode (pos=-0.8)] GLib.List<GLib.Type?> out_types, [CCode (pos=-0.7)] out GLib.List<GLib.Value?> out_values) throws GLib.Error; + public bool end_action_hash (GUPnP.ServiceProxyAction action, [CCode (pos=-0.9)] GLib.HashTable<string, weak GLib.Value*> hash) throws GLib.Error; + public bool end_action_list (GUPnP.ServiceProxyAction action, [CCode (pos=-0.9)] GLib.List<string> out_names, [CCode (pos=-0.8)] GLib.List<GLib.Type?> out_types, [CCode (pos=-0.7)] out GLib.List<weak GLib.Value*> out_values) throws GLib.Error; - public bool send_action_hash (string action, [CCode (pos=-0.9)] GLib.HashTable<string, GLib.Value?> in_hash, [CCode (pos=-0.8)] GLib.HashTable<string, GLib.Value?> out_hash) throws GLib.Error; - public bool send_action_list (string action, [CCode (pos=-0.9)]GLib.List<string> in_names, [CCode (pos=-0.8)]GLib.List<GLib.Value?> in_values, [CCode (pos=-0.7)] GLib.List<string> out_names, [CCode (pos=-0.6)]GLib.List<GLib.Type?> out_types, [CCode (pos=-0.5)] out GLib.List<GLib.Value?> out_values) throws GLib.Error; + public bool send_action_hash (string action, [CCode (pos=-0.9)] GLib.HashTable<string, GLib.Value?> in_hash, [CCode (pos=-0.8)] GLib.HashTable<string, weak GLib.Value*> out_hash) throws GLib.Error; + public bool send_action_list (string action, [CCode (pos=-0.9)] GLib.List<string> in_names, [CCode (pos=-0.8)] GLib.List<weak GLib.Value?> in_values, [CCode (pos=-0.7)] GLib.List<string> out_names, [CCode (pos=-0.6)] GLib.List<GLib.Type?> out_types, [CCode (pos=-0.5)] out GLib.List<weak GLib.Value*> out_values) throws GLib.Error; } public class Service { |