Re: Help on GObject Introspection Annotations
- From: Daniel Espinosa <esodan gmail com>
- To: Tal Liron <tal liron gmail com>
- Cc: Gtk+ Developers <gtk-devel-list gnome org>, gnome-db-list gnome org, gtk list <gtk-list gnome org>
- Subject: Re: Help on GObject Introspection Annotations
- Date: Fri, 2 Dec 2011 15:09:29 -0600
I've added CC to gtk-list and gtk-developers in order to make public
these comments. Hope you make the same in the future.
I'm working to add new objects written in Vala for GDA in the
libgda-vala branch if you want to see how to implement a library and
Unit Test in a C library and Autotools.
http://git.gnome.org/browse/libgda
2011/12/2 Tal Liron <tal liron gmail com>:
> Thanks, that's good advice. Indeed, the property I am using can also access
> a private field, forcing users to use the property API.
>
> One advantage for me in using the property API is that I'm also using Vala.
> In Vala, implementing properties is ridiculously easy.
>
> I'm hoping in the future GI will support fields better. The project is
> definitely evolving and adding features.
>
> On 12/02/2011 02:32 PM, Daniel Espinosa wrote:
>
> In GdaNumeric, we added accesors to fields in the struct.
>
> I think you have a GObject implementation. Your way is the best: add
> properties to access to fields.
>
> GdaNumeric is a struct with some fields easy to modify directly from
> Python, like the integer ones, but the string one is not handle by
> Python by default because could be very different per case. Then we
> added some API to access to struct members (all), and now this struct
> is considered opaque.
>
> For new implementations I recomend to hide struct definition in the
> *.c and just use in the header:
>
> typedef _MyStruct MyStruct;
>
> This hides internal definition and forces the developer to use the
> API. This way GObject Introspection will always make bindings to
> modify struct fields as expected by the implementator and makes very
> easy to automatically generate GIR files with the required API.
>
> 2011/12/2 Tal Liron <tal liron gmail com>:
>
> Thanks!
>
> I solved it in my software by wrapping fields in properties. That way C code
> can still access the fields directly, while Python can use set_property().
>
> -Tal
>
> On 12/02/2011 01:18 PM, Daniel Espinosa wrote:
>
> No one have sent any response message.
>
> I've added this annotations to GdaNumeric, but GIR and Vala bindings
> make no difference. Both use GdaNumeric, as declared on GDA, as a
> GBoxed and use g_boxed_copy and g_boxed_free functions.
>
> May be this help was added but not implemented jet.
>
> 2011/12/2 Tal Liron <tal liron gmail com>:
>
> Hello Daniel, and sorry for writing to you directly, but I can't find a way
> to respond to an archived message on the mailing list.
>
> Did you ever found a solution to this issue you posted?
>
> https://mail.gnome.org/archives/gtk-list/2011-October/msg00049.html
>
> Thanks!
>
> -Tal
>
>
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]