This file is indexed.

/usr/share/gtk-doc/html/Libvirt-glib/Libvirt-glib-Event-loop.html is in libvirt-glib-1.0-dev 0.2.2-0.1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Event loop: Libvirt GLib Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Libvirt GLib Reference Manual">
<link rel="up" href="ch01.html" title="API Reference">
<link rel="prev" href="Libvirt-glib-Error-reporting.html" title="Error reporting">
<link rel="next" href="object-tree.html" title="Object Hierarchy">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#Libvirt-glib-Event-loop.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="Libvirt-glib-Error-reporting.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="Libvirt-glib-Event-loop"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="Libvirt-glib-Event-loop.top_of_page"></a>Event loop</span></h2>
<p>Event loop — Integrate libvirt with the GMain event framework</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="Libvirt-glib-Event-loop.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="Libvirt-glib-Event-loop.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody><tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="Libvirt-glib-Event-loop.html#gvir-event-register" title="gvir_event_register ()">gvir_event_register</a> <span class="c_punctuation">()</span>
</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="Libvirt-glib-Event-loop.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libvirt-glib/libvirt-glib.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="Libvirt-glib-Event-loop.description"></a><h2>Description</h2>
<p>The libvirt API has the ability to provide applications with asynchronous
notifications of interesting events. To enable this functionality though,
applications must provide libvirt with an event loop implementation. The
libvirt-glib API provides such an implementation, which naturally integrates
with the GMain event loop framework.</p>
<p>To enable use of the GMain event loop glue, the <code class="code"><a class="link" href="Libvirt-glib-Event-loop.html#gvir-event-register" title="gvir_event_register ()"><code class="function">gvir_event_register()</code></a></code>
should be invoked. Once this is done, it is mandatory to have the default
GMain event loop run by a thread in the application, usually the primary
thread, eg by using <code class="code"><a href="http://developer.gnome.org/gtk2/gtk3-General.html#gtk-main"><code class="function">gtk_main()</code></a></code> or <code class="code"><a href="https://developer.gnome.org/gio/unstable/GApplication.html#g-application-run"><code class="function">g_application_run()</code></a></code></p>
<div class="example">
<a name="id-1.2.4.6.4"></a><p class="title"><b>Example 3. Registering for events with a GTK application</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="type">int</span><span class="normal"> </span><span class="function">main</span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">argv</span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">  </span><span class="symbol">...</span><span class="normal">setup</span><span class="symbol">...</span>
<span class="normal">  </span><span class="function"><a href="Libvirt-glib-Event-loop.html#gvir-event-register">gvir_event_register</a></span><span class="symbol">();</span>
<span class="normal">  </span><span class="symbol">...</span><span class="usertype">more</span><span class="normal"> setup</span><span class="symbol">...</span>
<span class="normal">  </span><span class="function"><a href="http://developer.gnome.org/gtk2/gtk3-General.html#gtk-main">gtk_main</a></span><span class="symbol">();</span>
<span class="normal">  </span><span class="keyword">return</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
<span class="cbracket">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break"><div class="example">
<a name="id-1.2.4.6.5"></a><p class="title"><b>Example 4. Registering for events using Appplication</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="type">int</span><span class="normal"> </span><span class="function">main</span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">argv</span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">  </span><span class="symbol">...</span><span class="normal">setup</span><span class="symbol">...</span>
<span class="normal">  </span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">...</span><span class="normal">create some impl </span><span class="usertype">of</span><span class="normal"> <a href="https://developer.gnome.org/gio/unstable/GApplication.html">GApplication</a></span><span class="symbol">...</span>
<span class="normal">  </span><span class="function"><a href="Libvirt-glib-Event-loop.html#gvir-event-register">gvir_event_register</a></span><span class="symbol">();</span>
<span class="normal">  </span><span class="symbol">...</span><span class="usertype">more</span><span class="normal"> setup</span><span class="symbol">...</span>
<span class="normal">  </span><span class="function"><a href="https://developer.gnome.org/gio/unstable/GApplication.html#g-application-run">g_application_run</a></span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">);</span>
<span class="normal">  </span><span class="keyword">return</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
<span class="cbracket">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break">
</div>
<div class="refsect1">
<a name="Libvirt-glib-Event-loop.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gvir-event-register"></a><h3>gvir_event_register ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gvir_event_register (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Registers a libvirt event loop implementation that is backed
by the default <code class="code">GMain</code> context. If invoked more
than once this method will be a no-op. Applications should,
however, take care not to register any another non-GLib
event loop with libvirt.</p>
<p>After invoking this method, it is mandatory to run the
default GMain event loop. Typically this can be satisfied
by invoking <code class="code">gtk_main</code> or <code class="code">g_application_run</code>
in the application's main thread. Failure to run the event
loop will mean no libvirt events get dispatched, and the
libvirt keepalive timer will kill off libvirt connections
frequently.</p>
</div>
</div>
<div class="refsect1">
<a name="Libvirt-glib-Event-loop.other_details"></a><h2>Types and Values</h2>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>