<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>GObject_introspection__Interface_info (gobject-introspection.GObject_introspection__Interface_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; GObject_introspection__Interface_info</nav><h1>Module <code>GObject_introspection__Interface_info</code></h1><p>Interface_info — Struct representing a GInterface</p></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt><dd><p>Interface_info represents a GInterface type. A GInterface has methods, fields, properties, signals, interfaces, constants, virtual functions and prerequisites.</p></dd></dl><dl><dt class="spec value" id="val-interfaceinfo"><a href="#val-interfaceinfo" class="anchor"></a><code><span class="keyword">val</span> interfaceinfo : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.typ</span></code></dt><dt class="spec value" id="val-get_n_prerequisites"><a href="#val-get_n_prerequisites" class="anchor"></a><code><span class="keyword">val</span> get_n_prerequisites : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int</code></dt><dd><p>Obtain the number of prerequisites for this interface type. A prerequisites is another interface that needs to be implemented for interface, similar to an base class for GObjects.</p></dd></dl><dl><dt class="spec value" id="val-get_prerequisite"><a href="#val-get_prerequisite" class="anchor"></a><code><span class="keyword">val</span> get_prerequisite : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Base_info/index.html#type-t">GObject_introspection.Base_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Obtain an interface type prerequisites index n .</p></dd></dl><dl><dt class="spec value" id="val-get_n_properties"><a href="#val-get_n_properties" class="anchor"></a><code><span class="keyword">val</span> get_n_properties : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int</code></dt><dd><p>Obtain the number of properties that this interface type has.</p></dd></dl><dl><dt class="spec value" id="val-get_property"><a href="#val-get_property" class="anchor"></a><code><span class="keyword">val</span> get_property : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Property_info/index.html#type-t">GObject_introspection.Property_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Obtain an interface type property at index n .</p></dd></dl><dl><dt class="spec value" id="val-get_n_methods"><a href="#val-get_n_methods" class="anchor"></a><code><span class="keyword">val</span> get_n_methods : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int</code></dt><dd><p>Obtain the number of methods that this interface type has.</p></dd></dl><dl><dt class="spec value" id="val-get_method"><a href="#val-get_method" class="anchor"></a><code><span class="keyword">val</span> get_method : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Function_info/index.html#type-t">GObject_introspection.Function_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Obtain an interface type method at index n .</p></dd></dl><dl><dt class="spec value" id="val-find_method"><a href="#val-find_method" class="anchor"></a><code><span class="keyword">val</span> find_method : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span><span><span><a href="../GObject_introspection/Function_info/index.html#type-t">GObject_introspection.Function_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> option</span></code></dt><dd><p>Obtain a method of the interface type given a name . NULL will be returned if there's no method available with that name.</p></dd></dl><dl><dt class="spec value" id="val-get_n_signals"><a href="#val-get_n_signals" class="anchor"></a><code><span class="keyword">val</span> get_n_signals : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int</code></dt><dd><p>Obtain the number of signals that this interface type has.</p></dd></dl><dl><dt class="spec value" id="val-get_signal"><a href="#val-get_signal" class="anchor"></a><code><span class="keyword">val</span> get_signal : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Signal_info/index.html#type-t">GObject_introspection.Signal_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Obtain an interface type signal at index n .</p></dd></dl><dl><dt class="spec value" id="val-find_signal"><a href="#val-find_signal" class="anchor"></a><code><span class="keyword">val</span> find_signal : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span><span><span><a href="../GObject_introspection/Signal_info/index.html#type-t">GObject_introspection.Signal_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> option</span></code></dt><dd><p>Find a signal of the interface</p></dd></dl><dl><dt class="spec value" id="val-get_n_constants"><a href="#val-get_n_constants" class="anchor"></a><code><span class="keyword">val</span> get_n_constants : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int</code></dt><dd><p>Obtain the number of constants that this interface type has.</p></dd></dl><dl><dt class="spec value" id="val-get_constant"><a href="#val-get_constant" class="anchor"></a><code><span class="keyword">val</span> get_constant : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Constant_info/index.html#type-t">GObject_introspection.Constant_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Obtain an interface type constant at index n .</p></dd></dl><dl><dt class="spec value" id="val-get_iface_struct"><a href="#val-get_iface_struct" class="anchor"></a><code><span class="keyword">val</span> get_iface_struct : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><span><a href="../GObject_introspection/Struct_info/index.html#type-t">GObject_introspection.Struct_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> option</span></code></dt><dd><p>Returns the layout C structure associated with this GInterface.</p></dd></dl><dl><dt class="spec value" id="val-get_n_vfuncs"><a href="#val-get_n_vfuncs" class="anchor"></a><code><span class="keyword">val</span> get_n_vfuncs : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int</code></dt><dd><p>Obtain the number of virtual functions that this interface type has.</p></dd></dl><dl><dt class="spec value" id="val-get_vfunc"><a href="#val-get_vfunc" class="anchor"></a><code><span class="keyword">val</span> get_vfunc : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/VFunc_info/index.html#type-t">GObject_introspection.VFunc_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Obtain an interface type virtual function at index n .</p></dd></dl><dl><dt class="spec value" id="val-find_vfunc"><a href="#val-find_vfunc" class="anchor"></a><code><span class="keyword">val</span> find_vfunc : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <span><span><span><a href="../GObject_introspection/VFunc_info/index.html#type-t">GObject_introspection.VFunc_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> option</span></code></dt><dd><p>Locate a virtual function slot with name name . See the documentation for g_object_info_find_vfunc() for more information on virtuals.</p></dd></dl><dl><dt class="spec value" id="val-cast_from_baseinfo"><a href="#val-cast_from_baseinfo" class="anchor"></a><code><span class="keyword">val</span> cast_from_baseinfo : <span><span><a href="../GObject_introspection/Base_info/index.html#type-t">GObject_introspection.Base_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Just cast OCaml Ctypes base info to interface info.</p></dd></dl><dl><dt class="spec value" id="val-cast_to_baseinfo"><a href="#val-cast_to_baseinfo" class="anchor"></a><code><span class="keyword">val</span> cast_to_baseinfo : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Base_info/index.html#type-t">GObject_introspection.Base_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Just cast OCaml Ctypes interface info to base info</p></dd></dl><dl><dt class="spec value" id="val-add_unref_finaliser"><a href="#val-add_unref_finaliser" class="anchor"></a><code><span class="keyword">val</span> add_unref_finaliser : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Add unref of the C underlying structure whith Gc.finalise.</p></dd></dl><dl><dt class="spec value" id="val-from_baseinfo"><a href="#val-from_baseinfo" class="anchor"></a><code><span class="keyword">val</span> from_baseinfo : <span><span><a href="../GObject_introspection/Base_info/index.html#type-t">GObject_introspection.Base_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Return a Interface_info.t from a Base_info.t, the underlying C structure ref count is increased and the value is Gc.finalis&quot;ed&quot; with Base_info.baseinfo_unref.</p></dd></dl><dl><dt class="spec value" id="val-to_baseinfo"><a href="#val-to_baseinfo" class="anchor"></a><code><span class="keyword">val</span> to_baseinfo : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Base_info/index.html#type-t">GObject_introspection.Base_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Return a Base_info.t from a Interface_info, the underlying C structure ref count is increased and the value is Gc.finalis&quot;ed&quot; with Base_info.baseinfo_unref.</p></dd></dl><dl><dt class="spec value" id="val-cast_from_registeredtypeinfo"><a href="#val-cast_from_registeredtypeinfo" class="anchor"></a><code><span class="keyword">val</span> cast_from_registeredtypeinfo : <span><span><a href="../GObject_introspection/Registered_type_info/index.html#type-t">GObject_introspection.Registered_type_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Just cast OCaml Ctypes registeredtype info to enum info.</p></dd></dl><dl><dt class="spec value" id="val-cast_to_registeredtypeinfo"><a href="#val-cast_to_registeredtypeinfo" class="anchor"></a><code><span class="keyword">val</span> cast_to_registeredtypeinfo : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Registered_type_info/index.html#type-t">GObject_introspection.Registered_type_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Just cast OCaml Ctypes enum info to registeredtype info</p></dd></dl><dl><dt class="spec value" id="val-from_registeredtypeinfo"><a href="#val-from_registeredtypeinfo" class="anchor"></a><code><span class="keyword">val</span> from_registeredtypeinfo : <span><span><a href="../GObject_introspection/Registered_type_info/index.html#type-t">GObject_introspection.Registered_type_info.t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Return a Interface_info.t from a Registered_type_info.t, the underlying C structure ref count is increased and the value is Gc.finalis&quot;ed&quot; with Registered_type_info.registeredtypeinfo_unref.</p></dd></dl><dl><dt class="spec value" id="val-to_registeredtypeinfo"><a href="#val-to_registeredtypeinfo" class="anchor"></a><code><span class="keyword">val</span> to_registeredtypeinfo : <span><span><a href="index.html#type-t">t</a> Ctypes.structure</span> Ctypes.ptr</span> <span>&#45;&gt;</span> <span><span><a href="../GObject_introspection/Registered_type_info/index.html#type-t">GObject_introspection.Registered_type_info.t</a> Ctypes.structure</span> Ctypes.ptr</span></code></dt><dd><p>Return a Registered_type_info.t form a Interface_info, the underlying C structure ref count is increased and the value is Gc.finalis&quot;ed&quot; with Registered_type_info.registeredtypeinfo_unref.</p></dd></dl></div></body></html>