On Tue, 2008-07-15 at 11:05 +0100, Sam Liddicott wrote:
> The reference counting that "vala" supports is only for gobject; which
> is fine, but the glib vapi file shows that this is done by the vapi
> file and not by vala as such.
> 
> [CCode (ref_function = "g_object_ref", unref_function =
> "g_object_unref", marshaller_type_name = "OBJECT", get_value_function
> = "g_value_get_object", set_value_function = "g_value_set_object",
> cheader_filename = "glib-object.h")]
> 
> I'll want to introduce a new object base for Samba4 that uses talloc
> functions to do this, and it looks like I can; and so I plan to, but I
> invite wiser folk to comment first:
> 
> 1. are these CCode attributes inherited to subclasses?

Yes, memory management functions are inherited.

> 2. are their any secrets pertaining to the C code generated by '#' and
> 'weak' and the CCode attributes above that would be helpful for me to
> know?

In general, `weak` and `#` is not visible in the generated C code,
except for the actual memory management calls, of course.

> 3. what does get_value_function do, and what Vala code makes use of
> it?

That's used if you want to use instances of the class as a GValue, e.g.
that's needed for GObject properties. Can usually be avoided in
non-GObject bindings.

> 4. do I need to worry about marshaller_type_name?

That's mainly used for signals parameters. If you don't want to use your
objects as signal arguments, you don't need that.

Juerg

_______________________________________________
Vala-list mailing list
Vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to