libvirt/python
Cole Robinson f2fb235b1d python: events: Fix C->Python handle callback prototype
If registering our own event loop implementation written in python,
any handles or timeouts callbacks registered by libvirt C code must
be wrapped in a python function. There is some argument trickery that
makes this all work, by wrapping the user passed opaque value in
a tuple, along with the callback function.

Problem is, the current setup requires the user's event loop to know
about this trickery, rather than just treating the opaque value
as truly opaque.

Fix this in a backwards compatible manner, and adjust the example
python event loop to do things the proper way.
2011-06-21 10:08:48 -04:00
..
tests maint: fix grammar in error message 2011-02-21 10:35:25 -07:00
.gitignore Re-arrange python generator to make it clear what's auto-generated 2009-09-21 14:41:46 +01:00
Makefile.am python: Use hardcoded python path in libvirt.py 2011-03-14 12:37:19 +01:00
README Re-arrange python generator to make it clear what's auto-generated 2009-09-21 14:41:46 +01:00
TODO syntax-check: enforce the no-cvs-keywords prohibition 2008-12-15 10:24:54 +00:00
generator.py python: Add bindings for virEvent*Handle/Timeout 2011-06-21 10:08:47 -04:00
libvirt-override-api.xml Introduce virDomainGetControlInfo API 2011-06-16 18:26:12 +02:00
libvirt-override-virConnect.py Asynchronous event for BlockPull completion 2011-06-14 22:48:42 -06:00
libvirt-override-virStream.py python: Implement virStreamSend/RecvAll helpers 2011-06-21 10:08:47 -04:00
libvirt-override.c python: Add bindings for virEvent*Handle/Timeout 2011-06-21 10:08:47 -04:00
libvirt-override.py python: events: Fix C->Python handle callback prototype 2011-06-21 10:08:48 -04:00
typewrappers.c python: Implement virStreamSend/Recv 2011-06-21 10:08:47 -04:00
typewrappers.h python: Implement virStreamSend/Recv 2011-06-21 10:08:47 -04:00

README

    libvirt Python Bindings README
    ==============================

Most of the libvirt python binding code is automatically generated
using the script  generator.py, and the API description from
docs/libvirt-api.xml


Manually written files:

 - libvirt-override.c: methods where the C binding needs to be hand crafted
 - libvirt-override.py: global methods where the C and python bindings have different args
 - libvirt-override-api.xml: methods where the auto-extracted API docs are not
   suitable for python auto-generator. Overriding this if the method is going
   into libvirt-override.c, but we still want auto-generated libvirt-override.py
 - libvirt-override-virConnect.py: virConnect class methods
 - typewrappers.h,.c: Python object wrappers for each libvirt C object


Auto-generated files:

  - libvirt.py: The main python binding. Comprises auto-generated code, along
    with contents from libvirt-override.py and libvirt-override-virConnect.py
  - libvirt.c, libvirt.h: The C glue layer for the python binding. Comprises
    auto-generated code, along with libvirt-override.c
  - libvirt-export.c: List of auto-generated C methods, included into
    the libvirt-override.c method table