Michael 'Mickey' Lauer wrote:
> This binding is for libcanberra, a sound event library.
> Seehttp://0pointer.de/lennart/projects/libcanberra/ for more information.
>
> The bindings should be relatively straightforward, the only thing I'm not
> satisfied with is the way of creating a canberra context and proplist: Since
> libcanberra has no way to return a newly constructed handle, I had to bind
> this as reference. Therefore right now you have to use it like that:
>
> Canberra.Proplist p = null;
> Canberra.Proplist.create( &p );
>
> (which I find a bit ugly).
Hi,
just mark them as out parameters, and the destroy() functions are free
functions:
[Compact]
[CCode (cname = "ca_proplist", free_function = "ca_proplist_destroy")]
public class Proplist {
public static int create( out Proplist p );
// public Error destroy(); // not needed anymore
// ...
}
[Compact]
[CCode (cname = "ca_context", free_function = "ca_context_destroy")]
public class Context {
public static Error create( out Context context );
// public Error destroy(); // not needed anymore
// ...
}
Usage:
Canberra.Context c;
Canberra.Context.create (out c);
Best Regards,
Frederik
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list