Module Libvirt.Event

module Event: sig .. end
Module dealing with events generated by domain state changes.

module Defined: sig .. end
module Undefined: sig .. end
module Started: sig .. end
module Suspended: sig .. end
module Resumed: sig .. end
module Stopped: sig .. end
module PM_suspended: sig .. end
module Lifecycle: sig .. end
module Reboot: sig .. end
module Rtc_change: sig .. end
module Watchdog: sig .. end
module Io_error: sig .. end
module Graphics_address: sig .. end
module Graphics_subject: sig .. end
module Graphics: sig .. end
module Control_error: sig .. end
module Block_job: sig .. end
module Disk_change: sig .. end
module Tray_change: sig .. end
module PM_wakeup: sig .. end
module PM_suspend: sig .. end
module Balloon_change: sig .. end
module PM_suspend_disk: sig .. end
type callback = 
| Lifecycle of ([ `R ] Libvirt.Domain.t -> Lifecycle.t -> unit)
| Reboot of ([ `R ] Libvirt.Domain.t -> Reboot.t -> unit)
| RtcChange of ([ `R ] Libvirt.Domain.t -> Rtc_change.t -> unit)
| Watchdog of ([ `R ] Libvirt.Domain.t -> Watchdog.t -> unit)
| IOError of ([ `R ] Libvirt.Domain.t -> Io_error.t -> unit)
| Graphics of ([ `R ] Libvirt.Domain.t -> Graphics.t -> unit)
| IOErrorReason of ([ `R ] Libvirt.Domain.t -> Io_error.t -> unit)
| ControlError of ([ `R ] Libvirt.Domain.t -> Control_error.t -> unit)
| BlockJob of ([ `R ] Libvirt.Domain.t -> Block_job.t -> unit)
| DiskChange of ([ `R ] Libvirt.Domain.t -> Disk_change.t -> unit)
| TrayChange of ([ `R ] Libvirt.Domain.t -> Tray_change.t -> unit)
| PMWakeUp of ([ `R ] Libvirt.Domain.t -> PM_wakeup.t -> unit)
| PMSuspend of ([ `R ] Libvirt.Domain.t -> PM_suspend.t -> unit)
| BalloonChange of ([ `R ] Libvirt.Domain.t -> Balloon_change.t -> unit)
| PMSuspendDisk of ([ `R ] Libvirt.Domain.t -> PM_suspend_disk.t -> unit)

type of a registered call back function
val register_default_impl : unit -> unit
Registers the default event loop based on poll(). This must be done before connections are opened.

Once registered call run_default_impl in a loop.

val run_default_impl : unit -> unit
Runs one iteration of the event loop. Applications will generally want to have a thread which invokes this in an infinite loop.
type callback_id 
an individual event registration
val register_any : 'a Libvirt.Connect.t ->
?dom:'a Libvirt.Domain.t ->
callback -> callback_id
register_any con ?dom callback registers callback to receive notification of arbitrary domain events. Return a registration id which can be used in deregister_any.

If ?dom is None then register for this kind of event on all domains. If dom is Some d then register for this kind of event only on d.

val deregister_any : 'a Libvirt.Connect.t -> callback_id -> unit
deregister_any con id deregisters the previously registered callback with id id.
type timer_id 
an individual timer event
val add_timeout : 'a Libvirt.Connect.t -> int -> (unit -> unit) -> timer_id
add_timeout con ms cb registers cb as a timeout callback which will be called every ms milliseconds
val remove_timeout : 'a Libvirt.Connect.t -> timer_id -> unit
remove_timeout con t deregisters timeout callback t.