<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Arg_info (gobject-introspection.Bindings__.Arg_info)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> â€“ <a href="../../index.html">gobject-introspection</a> &#x00BB; <a href="../index.html">Bindings__</a> &#x00BB; Arg_info</nav><h1>Module <code>Bindings__.Arg_info</code></h1></header><dl><dt class="spec type" id="type-direction"><a href="#type-direction" class="anchor"></a><code><span class="keyword">type</span> direction</code><code> = </code><table class="variant"><tr id="type-direction.In" class="anchored"><td class="def constructor"><a href="#type-direction.In" class="anchor"></a><code>| </code><code><span class="constructor">In</span></code></td><td class="doc"><p>in argument.</p></td></tr><tr id="type-direction.Out" class="anchored"><td class="def constructor"><a href="#type-direction.Out" class="anchor"></a><code>| </code><code><span class="constructor">Out</span></code></td><td class="doc"><p>out argument.</p></td></tr><tr id="type-direction.InOut" class="anchored"><td class="def constructor"><a href="#type-direction.InOut" class="anchor"></a><code>| </code><code><span class="constructor">InOut</span></code></td><td class="doc"><p>in and out argument.</p></td></tr></table></dt><dd><p>The direction of a Arg_info.</p></dd></dl><dl><dt class="spec value" id="val-string_of_direction"><a href="#val-string_of_direction" class="anchor"></a><code><span class="keyword">val</span> string_of_direction : <a href="index.html#type-direction">direction</a> <span>&#45;&gt;</span> string</code></dt></dl><aside><p>The transfer is the exchange of data between two parts, from the callee to the caller. The callee is either a function/method/signal or an object/interface where a property is defined. The caller is the side accessing a property or calling a function. GITransfer specifies who's responsible for freeing the resources after the ownership transfer is complete. In case of a containing type such as a list, an array or a hash table the container itself is specified differently from the items within the container itself. Each container is freed differently, check the documentation for the types themselves for information on how to free them.</p></aside><dl><dt class="spec type" id="type-transfer"><a href="#type-transfer" class="anchor"></a><code><span class="keyword">type</span> transfer</code><code> = </code><table class="variant"><tr id="type-transfer.Nothing" class="anchored"><td class="def constructor"><a href="#type-transfer.Nothing" class="anchor"></a><code>| </code><code><span class="constructor">Nothing</span></code></td><td class="doc"><p>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.</p></td></tr><tr id="type-transfer.Container" class="anchored"><td class="def constructor"><a href="#type-transfer.Container" class="anchor"></a><code>| </code><code><span class="constructor">Container</span></code></td><td class="doc"><p>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.</p></td></tr><tr id="type-transfer.Everything" class="anchored"><td class="def constructor"><a href="#type-transfer.Everything" class="anchor"></a><code>| </code><code><span class="constructor">Everything</span></code></td><td class="doc"><p>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.</p></td></tr></table></dt></dl><dl><dt class="spec value" id="val-string_of_transfert"><a href="#val-string_of_transfert" class="anchor"></a><code><span class="keyword">val</span> string_of_transfert : <a href="index.html#type-transfer">transfer</a> <span>&#45;&gt;</span> string</code></dt></dl><dl><dt class="spec type" id="type-scope_type"><a href="#type-scope_type" class="anchor"></a><code><span class="keyword">type</span> scope_type</code><code> = </code><table class="variant"><tr id="type-scope_type.Invalid" class="anchored"><td class="def constructor"><a href="#type-scope_type.Invalid" class="anchor"></a><code>| </code><code><span class="constructor">Invalid</span></code></td><td class="doc"><p>The argument is not of callback type.</p></td></tr><tr id="type-scope_type.Call" class="anchored"><td class="def constructor"><a href="#type-scope_type.Call" class="anchor"></a><code>| </code><code><span class="constructor">Call</span></code></td><td class="doc"><p>The callback and associated user_data is only used during the call to this function.</p></td></tr><tr id="type-scope_type.Async" class="anchored"><td class="def constructor"><a href="#type-scope_type.Async" class="anchor"></a><code>| </code><code><span class="constructor">Async</span></code></td><td class="doc"><p>The callback and associated user_data is only used until the callback is invoked, and the callback. is invoked always exactly once.</p></td></tr><tr id="type-scope_type.Notified" class="anchored"><td class="def constructor"><a href="#type-scope_type.Notified" class="anchor"></a><code>| </code><code><span class="constructor">Notified</span></code></td><td class="doc"><p>The callback and and associated user_data is used until the caller is notfied via the destroy_notify.</p></td></tr></table></dt><dd><p>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.</p></dd></dl><dl><dt class="spec value" id="val-string_of_scope_type"><a href="#val-string_of_scope_type" class="anchor"></a><code><span class="keyword">val</span> string_of_scope_type : <a href="index.html#type-scope_type">scope_type</a> <span>&#45;&gt;</span> string</code></dt></dl><div class="spec module" id="module-Enums"><a href="#module-Enums" class="anchor"></a><code><span class="keyword">module</span> <a href="Enums/index.html">Enums</a> : <span class="keyword">functor</span> (<a href="Enums/index.html#argument-1-T">T</a> : Cstubs.Types.TYPE) <span>&#45;&gt;</span> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></div></body></html>