summaryrefslogtreecommitdiff
path: root/HACKING
blob: 39e7cd3bc6e9d026071fb85aaf288f62bed61d14 (plain)
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
    libvirt Python Bindings Hacking
    ===============================

Most of the libvirt python binding code is automatically generated
using the script  generator.py, and the API description that the
libvirt library installs at the location shown by pkg-config, with
this command:

  $ pkg-config --variable libvirt_api libvirt
  /usr/share/libvirt/api/libvirt-api.xml

Some of the API descriptions in the primary XML files are not directly
usable by the code generator. Thus there are overrides in

 - libvirt-override-api.xml
 - libvirt-qemu-override-api.xml
 - libvirt-lxc-override-api.xml

For stuff which the generator can't cope with at all there are some
hand written source files

 - libvirt-override.c - low level binding to libvirt.so
 - libvirt-qemu-override.c - low level binding to libvirt-qemu.so
 - libvirt-lxc-override.c - low level binding to libvirt-lxc.so

 - libvirt-override.py - high level overrides in the global namespace
 - libvirt-override-virConnect.py - high level overrides in
   the virConnect class
 - libvirt-override-virDomain.py - high level overrides in
   the virDomain class
 - libvirt-override-virDomainCheckpoint.py - high level overrides in
   the virDomainCheckpoint class
 - libvirt-override-virDomainSnapshot.py - high level overrides in
   the virDomainSnapshot class
 - libvirt-override-virStoragePool.py - high level overrides in
   the virStoragePool class
 - libvirt-override-virStream.py - high level overrides in
   the virStream class