|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
<html>
|
|
Packit Service |
ea0369 |
<head>
|
|
Packit Service |
ea0369 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit Service |
ea0369 |
<title>Event loop: Libvirt GLib Reference Manual</title>
|
|
Packit Service |
ea0369 |
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
|
Packit Service |
ea0369 |
<link rel="home" href="index.html" title="Libvirt GLib Reference Manual">
|
|
Packit Service |
ea0369 |
<link rel="up" href="ch01.html" title="API Reference">
|
|
Packit Service |
ea0369 |
<link rel="prev" href="Libvirt-glib-Error-reporting.html" title="Error reporting">
|
|
Packit Service |
ea0369 |
<link rel="next" href="object-tree.html" title="Object Hierarchy">
|
|
Packit Service |
ea0369 |
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
|
Packit Service |
ea0369 |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit Service |
ea0369 |
</head>
|
|
Packit Service |
ea0369 |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Top |
|
|
Packit Service |
ea0369 |
Description
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Event loop
|
|
Packit Service |
ea0369 |
Event loop — Integrate libvirt with the GMain event framework
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Stability Level
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
develop applications to these interfaces, release them, and have confidence that
|
|
Packit Service |
ea0369 |
they will run on all minor releases of the product (after the one in which the
|
|
Packit Service |
ea0369 |
interface was introduced, and within the same major release). Even at a major
|
|
Packit Service |
ea0369 |
release, incompatible changes are expected to be rare, and to have strong
|
|
Packit Service |
ea0369 |
justifications.
|
|
Packit Service |
ea0369 |
">Stable, unless otherwise indicated
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Functions
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
void
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
gvir_event_register ()
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Includes
|
|
Packit Service |
ea0369 |
#include <libvirt-glib/libvirt-glib.h>
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Description
|
|
Packit Service |
ea0369 |
The libvirt API has the ability to provide applications with asynchronous
|
|
Packit Service |
ea0369 |
notifications of interesting events. To enable this functionality though,
|
|
Packit Service |
ea0369 |
applications must provide libvirt with an event loop implementation. The
|
|
Packit Service |
ea0369 |
libvirt-glib API provides such an implementation, which naturally integrates
|
|
Packit Service |
ea0369 |
with the GMain event loop framework.
|
|
Packit Service |
ea0369 |
To enable use of the GMain event loop glue, the gvir_event_register()
|
|
Packit Service |
ea0369 |
should be invoked. Once this is done, it is mandatory to have the default
|
|
Packit Service |
ea0369 |
GMain event loop run by a thread in the application, usually the primary
|
|
Packit Service |
ea0369 |
thread, eg by using gtk_main() or g_application_run()
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Example 3. Registering for events with a GTK application
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
1
|
|
Packit Service |
ea0369 |
2
|
|
Packit Service |
ea0369 |
3
|
|
Packit Service |
ea0369 |
4
|
|
Packit Service |
ea0369 |
5
|
|
Packit Service |
ea0369 |
6
|
|
Packit Service |
ea0369 |
7
|
|
Packit Service |
ea0369 |
int main(int argc, char **argv) {
|
|
Packit Service |
ea0369 |
...setup...
|
|
Packit Service |
ea0369 |
gvir_event_register();
|
|
Packit Service |
ea0369 |
...more setup...
|
|
Packit Service |
ea0369 |
gtk_main();
|
|
Packit Service |
ea0369 |
return 0;
|
|
Packit Service |
ea0369 |
}
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Example 4. Registering for events using Appplication
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
1
|
|
Packit Service |
ea0369 |
2
|
|
Packit Service |
ea0369 |
3
|
|
Packit Service |
ea0369 |
4
|
|
Packit Service |
ea0369 |
5
|
|
Packit Service |
ea0369 |
6
|
|
Packit Service |
ea0369 |
7
|
|
Packit Service |
ea0369 |
8
|
|
Packit Service |
ea0369 |
int main(int argc, char **argv) {
|
|
Packit Service |
ea0369 |
...setup...
|
|
Packit Service |
ea0369 |
GApplication *app = ...create some impl of GApplication...
|
|
Packit Service |
ea0369 |
gvir_event_register();
|
|
Packit Service |
ea0369 |
...more setup...
|
|
Packit Service |
ea0369 |
g_application_run(app);
|
|
Packit Service |
ea0369 |
return 0;
|
|
Packit Service |
ea0369 |
}
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Functions
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
gvir_event_register ()
|
|
Packit Service |
ea0369 |
void
|
|
Packit Service |
ea0369 |
gvir_event_register (void );
|
|
Packit Service |
ea0369 |
Registers a libvirt event loop implementation that is backed
|
|
Packit Service |
ea0369 |
by the default GMain context. If invoked more
|
|
Packit Service |
ea0369 |
than once this method will be a no-op. Applications should,
|
|
Packit Service |
ea0369 |
however, take care not to register any another non-GLib
|
|
Packit Service |
ea0369 |
event loop with libvirt.
|
|
Packit Service |
ea0369 |
After invoking this method, it is mandatory to run the
|
|
Packit Service |
ea0369 |
default GMain event loop. Typically this can be satisfied
|
|
Packit Service |
ea0369 |
by invoking gtk_main or g_application_run
|
|
Packit Service |
ea0369 |
in the application's main thread. Failure to run the event
|
|
Packit Service |
ea0369 |
loop will mean no libvirt events get dispatched, and the
|
|
Packit Service |
ea0369 |
libvirt keepalive timer will kill off libvirt connections
|
|
Packit Service |
ea0369 |
frequently.
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Types and Values
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
|
|
Packit Service |
ea0369 |
Generated by GTK-Doc V1.29
|
|
Packit Service |
ea0369 |
</body>
|
|
Packit Service |
ea0369 |
</html>
|