mirror of https://gitee.com/openkylin/libvirt.git
docs: introduce libvirt-dbus binding
libvirt-dbus is a new binding that wraps libvirt API into D-Bus calls. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
0641b5fe06
commit
247e3a7275
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
<h1 >Bindings for other languages</h1>
|
||||
<h1 >Bindings for other languages and integration API modules</h1>
|
||||
|
||||
<p>
|
||||
Libvirt supports C and C++ directly, and has bindings available
|
||||
|
@ -74,6 +74,17 @@
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Integration API modules:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<strong>D-Bus</strong>: Pavel Hrdina develops
|
||||
<a href="dbus.html">D-Bus API</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
For information on using libvirt on <strong>Windows</strong>
|
||||
<a href="windows.html">please see the Windows support page</a>.
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
<h1>D-Bus API bindings</h1>
|
||||
|
||||
<ul id="toc"></ul>
|
||||
|
||||
<h2><a name="description">Description</a></h2>
|
||||
|
||||
<p>
|
||||
libvirt-dbus wraps libvirt API to provide a high-level object-oriented
|
||||
API better suited for dbus-based applications.
|
||||
</p>
|
||||
|
||||
<h2><a name="git">GIT source repository</a></h2>
|
||||
<p>
|
||||
The D-Bus bindings source code is maintained in a
|
||||
<a href="https://git-scm.com/">git</a> repository available on
|
||||
<a href="https://libvirt.org/git/">libvirt.org</a>:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git clone https://libvirt.org/git/libvirt-dbus.git
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
They can also be browsed online:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<a href="https://libvirt.org/git/?p=libvirt-dbus.git">https://libvirt.org/git/?p=libvirt-dbus.git</a>
|
||||
</pre>
|
||||
|
||||
<h2><a name="usage">Usage</a></h2>
|
||||
|
||||
<p>
|
||||
libvirt-dbus exports libvirt API using D-Bus objects with methods and
|
||||
properties described by interfaces. Currently only local connection
|
||||
to libvirt is exported and the list of supported drivers depends
|
||||
on the type of the bus connection (session or system).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The name of the libvirt-dbus service is <code>org.libvirt</code>.
|
||||
libvirt-dbus distributes an interface XML descriptions which can be
|
||||
usually found at <code>/usr/share/dbus-1/interfaces/</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
By default unprivileged user has access only to the session D-Bus
|
||||
connection. In order to allow specific user "foo" to access the system
|
||||
D-Bus connection you need to create a file
|
||||
<code>/etc/dbus-1/system.d/org.libvirt.conf</code> that contains:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
||||
|
||||
<busconfig>
|
||||
|
||||
<policy user="foo">
|
||||
<allow send_destination="org.libvirt"/>
|
||||
</policy>
|
||||
|
||||
</busconfig>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
To get a list of supported drivers for the specific bus connection
|
||||
you can run these commands (not all drivers may be available on
|
||||
the host):
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
gdbus introspect --xml --session --dest org.libvirt --object-path /org/libvirt
|
||||
gdbus introspect --xml --system --dest org.libvirt --object-path /org/libvirt
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Every object is introspectable so you can get a list of available
|
||||
interfaces with methods, signals and properties running this command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
gdbus introspect --xml --system --dest org.libvirt --object-path /org/libvirt/QEMU
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
To get a list of domains for specific connection driver you can run
|
||||
this command:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
gdbus call --system --dest org.libvirt --object-path /org/libvirt/QEMU \
|
||||
--method org.libvirt.Connect.ListDomains 0
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -54,7 +54,7 @@
|
|||
<dt><a href="virshcmdref.html">Virsh Commands</a></dt>
|
||||
<dd>Command reference for virsh</dd>
|
||||
|
||||
<dt><a href="bindings.html">Language bindings</a></dt>
|
||||
<dt><a href="bindings.html">Language bindings and API modules</a></dt>
|
||||
<dd>Bindings of the libvirt API for
|
||||
<a href="csharp.html">c#</a>,
|
||||
<a href="https://godoc.org/github.com/libvirt/libvirt-go">go</a>,
|
||||
|
@ -63,7 +63,9 @@
|
|||
<a href="http://search.cpan.org/dist/Sys-Virt/">perl</a>,
|
||||
<a href="python.html">python</a>,
|
||||
<a href="php.html">php</a>,
|
||||
<a href="https://libvirt.org/ruby/">ruby</a></dd>
|
||||
<a href="https://libvirt.org/ruby/">ruby</a>
|
||||
and integration API modules for
|
||||
<a href="dbus.html">D-Bus</a></dd>
|
||||
|
||||
|
||||
<dt><a href="format.html">XML schemas</a></dt>
|
||||
|
|
|
@ -220,6 +220,21 @@
|
|||
<a href="https://godoc.org/github.com/libvirt/libvirt-go-xml">api ref</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>D-Bus</td>
|
||||
<td>
|
||||
<a href="ftp://libvirt.org/libvirt/dbus/">ftp</a>
|
||||
<a href="https://libvirt.org/sources/dbus/">https</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://libvirt.org/git/?p=libvirt-dbus.git;a=summary">libvirt</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://gitlab.com/libvirt/libvirt-dbus">gitlab</a>
|
||||
<a href="https://github.com/libvirt/libvirt-dbus">github</a>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Console Proxy</td>
|
||||
<td>
|
||||
|
|
Loading…
Reference in New Issue