Module Bindings.Arg_info

include Arg_info
type direction =
| In

in argument.

| Out

out argument.

| InOut

in and out argument.

The direction of a Arg_info.

val string_of_direction : direction -> string
type transfer =
| Nothing

transfer nothing from the callee (function or the type instance the property belongs to) to the caller. The callee retains the ownership of the transfer and the caller doesn't need to do anything to free up the resources of this transfer.

| Container

transfer the container (list, array, hash table) from the callee to the caller. The callee retains the ownership of the individual items in the container and the caller has to free up the container resources (g_list_free()/ g_hash_table_destroy() etc) of this transfer.

| Everything

transfer everything, eg the container and its contents from the callee to the caller. This is the case when the callee creates a copy of all the data it returns. The caller is responsible for cleaning up the container and item resources of this transfer.

val string_of_transfert : transfer -> string
type scope_type =
| Invalid

The argument is not of callback type.

| Call

The callback and associated user_data is only used during the call to this function.

| Async

The callback and associated user_data is only used until the callback is invoked, and the callback. is invoked always exactly once.

| Notified

The callback and and associated user_data is used until the caller is notfied via the destroy_notify.

Scope type of a Arg_info representing callback, determines how the callback is invoked and is used to decided when the invoke structs can be freed.

val string_of_scope_type : scope_type -> string
module Enums = Arg_info.Enums