2011/11/16 Giulio Paci <[email protected]>:
> Hi to all,
>        I am trying to (re)write Vala bindings for libcurl.
>
> I started following the instruction in this page
> http://live.gnome.org/Vala/Bindings
> and using information from this page
> http://live.gnome.org/Vala/Manual/GIDL%20metadata%20format
>

Add to your list of useful information:

[1] https://live.gnome.org/Vala/Manual/Attributes

There are lot of annotations you must add to your code in order to do
what you want to.

> At last I got a libcurl.gi that was close to what I expected and I tried
> to write a metadata file to get an usable vapi file. Unfortunately I
> have some problems completing the task.
>
> I have attached an example containing some of the problem I am currently
> facing. The libcurl.vapi.target is the desired vapi file, while the
> libcurl.vapi is obtained from libcurl.gi and libcurl.metadata using
> vapigen (0.14).
>

Are there GLib bindings of libcurl?

This is because Vala is moving to GIR and is easy to make glibcurl
could generate GObject-Introspection information, using annotations
inside the GLib/C code, then generate the Vala bindigs: Advantage: you
will help lot others languages (not just Vala) to use libcurl like
Python, JavaScript and other with support of GObject Introspection.

> The main issues are:
> 1) How can I specify that a method (curl_easy_init) is the constructor
> of a class (EasyHandle)?
> 2) How can I instruct vapigen that a function is a method of a class and
> not a static function?
> 3) How can I instruct vapigen to put a cname attibute where needed (e.g.
> for the EasyHandle class or the Code enumeration)?
> 4) How can I handle an enumeration value with a different prefix from
> all the other values (e.g.: the last value in the Code enumeration)?
> 5) Is there any way I can put a static function in a nested namespace
> (e.g.: Curl.Global.init())?
>

Most of this questions can be solved by see at Attributes is [1]
above. I'm not realy sure how to add that annotations using metadata,
but you can add custom code instead.

> Thank you for your help.
>
> Bests,
>        Giulio.
>
> _______________________________________________
> vala-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/vala-list
>
>
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to