Source

opycaml / IDL.txt

To add things:
--------------

- Edit <*.idl.in> files. <*.idl> are created from <*.idl.in>.
- If you create new <*.idl.in> files, add include lines of <*.idl> in auto.idl.in, and add entries to IDLS in OMakefile.

*.idl.in
--------

In addition to the CamlIDL attributes, there are some additional attributes:

[option] : Pointer value may be NULL. The corresponding ML type becomes _ option.

[new] : For return type only. It returns a new reference. Without this attribute, objects references are considered borrowed.

[stolen] : For argument only. The function ``steals'' reference of the argument.

[internal] : For function name only. ML function is prefixed with ``_internal_''. A Wrapper ML code should be writtein in api.ml

[wrap] : C function needs manual wrapping. Stub calls <function name>_wrap instead of <function name>.
         Some example are found in auto.h

Currently these new attributes are implemented by pretty dirty perl hack. They may not be used in conjunction.