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
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).
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())?
Thank you for your help.
Bests,
Giulio.
Attachment:
libcurl.gi
Description: Text Data
Attachment:
libcurl.metadata
Description: Text document
Attachment:
libcurl.vapi
Description: Text Data
Attachment:
libcurl.vapi.target
Description: Text document