Re: [Vala] Help about write vapi file with c libray
- From: Matrix <pigex zhang gmail com>
- To: Andre Masella <andre masella name>, Vala List <vala-list gnome org>, Luca Bruno <lethalman88 gmail com>
- Subject: Re: [Vala] Help about write vapi file with c libray
- Date: Fri, 26 Sep 2014 22:56:24 +0800
在 2014/9/26 22:54, Andre Masella 写道:
Since it can be null if the open fails, it would be best as “out Port?
port”.
On 26 September 2014 10:48, Luca Bruno <lethalman88 gmail com> wrote:
On 26/09/2014 16:44, Matrix wrote:
在 2014/9/26 22:19, Luca Bruno 写道:
On 26/09/2014 16:09, Matrix wrote:
Hi:
I'm try using Vala to write a GUI serialport tool with libserialport.
I have already have a demo with pure c implenmention.
I'm still working with write vapi file to this lib follow the tutorial
at https://wiki.gnome.org/Projects/Vala/LegacyBindings
but the c struct is init by this form:
enum sp_return sp_get_port_by_name(const char *portname, struct
sp_port **port_ptr);
how do i to write for such form ?
class Port {
[CCode (cname = "sp_get_port_by_name")]
static Return get_port_by_name (string portname, out Port);
}
Then:
Port port;
Port.get_port_by_name ("foo", out port);
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
Thank you, Luca Bruno!
I follow your help, but have error....
there is my vapi file snippet:
/*************************************************
using GLib;
namespace SerialPort {
[CCode (cname = "int", cprefix = "SP_", has_type_id = "false")]
public enum Return {
OK,
ERR_ARG,
ERR_FAIL,
ERR_MEM,
ERR_SUPP
}
[CCode (cname = "struct sp_port", has_type_id = "false")]
public class Port {
[CCode (cname = "sp_get_port_by_name", has_type_id = "false")]
static Return get_port_by_name(string name, out Port);
}
}
/***************************************************
$ valac -C auto_test.vala --pkg libserialport
Compilation failed: 1 error(s), 0 warning(s)
libserialport.vapi:16.61-16.61: error: syntax error, expected identifier
static Return open_get_by_name(string name, out Port);
Of course, out Port port :)
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
Great! Thanks you two, it's OK now!!
Best Regards!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]