On Mon, 2011-02-28 at 09:09 +0100, Guilhem Bonnefille wrote:
> Hi all,
> 
> It's my first post on this list, as I've just decided to experiment vala.
> 
> My idea is to build a software around a C library. But, this library
> is in the pure C spirit:
> - opaque public types
> - return values via parameters
> - huge mix with value and references
> I tried to initiate a .vapi, but it is quite complex for a newbie like
> me. So, I'm looking for some help, and post here.
> 
> I think I have two dificulties that I can summarize with the following code:
> 
> /* API */
> typedef void*lib_type_t;
> void init(lib_type_t *p);
> void get(lib_type_t p, char **val);
> 
> /* USE */
> ...
> lib_type_t myType;
> char *val;
> lib_init(&myType);
> lib_get(myType, &val);

(take with a grain of salt, typed from memory)

[CCode (c_prefix="lib_")]
namespace MyLib {
    [Compact]
    [CCode (c_prefix="lib_")]
    class MyType {
        static void init (out MyType instance);
        int @get(out string val);
    }
}

MyType foo;
string val;
MyType.init(out foo);
foo.get(out val);

You should have a look at the SQLite vapi.


_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to