libvirt/python
Daniel P. Berrange 34dcbbb470 Add support for another explicit IO error event
This introduces a new event type

   VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON

This event is the same as the previous VIR_DOMAIN_ID_IO_ERROR
event, but also includes a string describing the cause of
the event.

Thus there is a new callback definition for this event type

typedef void (*virConnectDomainEventIOErrorReasonCallback)(virConnectPtr conn,
                                                           virDomainPtr dom,
                                                           const char *srcPath,
                                                           const char *devAlias,
                                                           int action,
                                                           const char *reason,
                                                           void *opaque);

This is currently wired up to the QEMU block IO error events

* daemon/remote.c: Dispatch IO error events to client
* examples/domain-events/events-c/event-test.c: Watch for
  IO error events
* include/libvirt/libvirt.h.in: Define new IO error event ID
  and callback signature
* src/conf/domain_event.c, src/conf/domain_event.h,
  src/libvirt_private.syms: Extend API to handle IO error events
* src/qemu/qemu_driver.c: Connect to the QEMU monitor event
  for block IO errors and emit a libvirt IO error event
* src/remote/remote_driver.c: Receive and dispatch IO error
  events to application
* src/remote/remote_protocol.x: Wire protocol definition for
  IO error events
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
  src/qemu/qemu_monitor_json.c: Watch for BLOCK_IO_ERROR event
  from QEMU monitor
2010-04-30 15:52:59 +01:00
..
tests gnulib added a new syntax-check test: use $(VAR), not @VAR@ 2010-01-18 09:50:08 +01:00
.gitignore Re-arrange python generator to make it clear what's auto-generated 2009-09-21 14:41:46 +01:00
generator.py Implement python binding for virDomainGetBlockInfo 2010-04-29 17:21:32 +01:00
libvirt-override-api.xml Implement python binding for virDomainGetBlockInfo 2010-04-29 17:21:32 +01:00
libvirt-override-virConnect.py Add support for another explicit IO error event 2010-04-30 15:52:59 +01:00
libvirt-override-virStream.py Add public API definition for data stream handling 2009-09-29 15:48:52 +01:00
libvirt-override.c Add support for another explicit IO error event 2010-04-30 15:52:59 +01:00
libvirt-override.py Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
Makefile.am Don't ship generated python/libvirt.? files. 2010-04-20 08:13:06 -06: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
typewrappers.c nwfilter: python bindings for nwfilter 2010-04-29 06:46:01 -04:00
typewrappers.h nwfilter: python bindings for nwfilter 2010-04-29 06:46:01 -04:00

    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