> Hi,
>
> I have just started hacking in camlidl and for now had a really pleasant
> experience.
>
> However I really can't find out how to create a finalized object without
> going into COM interfaces.
>
> Say my underlying C library for manipulating ..... hmmm.. cows has a
> function that creates and references a new cow, and a function that is used
> to de-reference the cows when they no longer are live:
>
> typedef int cow;
> cow createAndReferenceCow(void);
> void freeCow(cow);
>
> Now, when the OCaml structures for some reason decide to garbage collect my
> cow the finalized object should call freeCow...... I have done this a bunch
> of times without the idl interface, but have no clue how to specify this in
> an idl file. Help!!!
There's a new release of CamlIDL at http://caml.inria.fr/camlidl/
that supports a "finalize" attribute to do just this, e.g.
typedef [abstract,finalize(freeCow)] int cow;
The release also fixes some minor bugs with error reporting in
presence of import files, and with "const" qualifiers. (Thanks for
Dmitry Bely for his extensive testing and bug hunting!)
- Xavier Leroy
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners