virsh: support remaining domain events
virsh: support remaining domain events

Earlier, I added 'virsh event' for lifecycle events, to get the
concept approved; this patch finishes the support for all other
events, although the user still has to register for one event
type at a time.  A future patch may add an --all parameter to
make it possible to register for all events through a single
call.

* tools/virsh-domain.c (vshDomainEventWatchdogToString)
(vshDomainEventIOErrorToString, vshGraphicsPhaseToString)
(vshGraphicsAddressToString, vshDomainBlockJobStatusToString)
(vshDomainEventDiskChangeToString)
(vshDomainEventTrayChangeToString, vshEventGenericPrint)
(vshEventRTCChangePrint, vshEventWatchdogPrint)
(vshEventIOErrorPrint, vshEventGraphicsPrint)
(vshEventIOErrorReasonPrint, vshEventBlockJobPrint)
(vshEventDiskChangePrint, vshEventTrayChangePrint)
(vshEventPMChangePrint, vshEventBalloonChangePrint)
(vshEventDeviceRemovedPrint): New helper routines.
(cmdEvent): Support full array of event callbacks.

Signed-off-by: Eric Blake <a9da18479c871fe903d9590822cfe2629c6a4d11@redhat.com>

VenkatDatta/libvirt,fabianfreyer/libvirt,shugaoye/libvirt,jardasgit/libvirt,rlaager/libvirt,VenkatDatta/libvirt,olafhering/libvirt,VenkatDatta/libvirt,elmarco/libvirt,andreabolognani/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,olafhering/libvirt,VenkatDatta/libvirt,shugaoye/libvirt,olafhering/libvirt,shugaoye/libvirt,zippy2/libvirt,taget/libvirt,zippy2/libvirt,shugaoye/libvirt,eskultety/libvirt,libvirt/libvirt,libvirt/libvirt,shugaoye/libvirt,elmarco/libvirt,olafhering/libvirt,eskultety/libvirt,agx/libvirt,andreabolognani/libvirt,eskultety/libvirt,taget/libvirt,jfehlig/libvirt,datto/libvirt,jardasgit/libvirt,elmarco/libvirt,andreabolognani/libvirt,agx/libvirt,libvirt/libvirt,rlaager/libvirt,fabianfreyer/libvirt,jfehlig/libvirt,datto/libvirt,agx/libvirt,crobinso/libvirt,zippy2/libvirt,nertpinx/libvirt,jardasgit/libvirt,datto/libvirt,nertpinx/libvirt,taget/libvirt,fabianfreyer/libvirt,agx/libvirt,eskultety/libvirt,datto/libvirt,fabianfreyer/libvirt,crobinso/libvirt,taget/libvirt,rlaager/libvirt,taget/libvirt,nertpinx/libvirt,elmarco/libvirt,crobinso/libvirt,andreabolognani/libvirt,rlaager/libvirt,datto/libvirt,libvirt/libvirt,zippy2/libvirt,jfehlig/libvirt,elmarco/libvirt,jardasgit/libvirt,nertpinx/libvirt,rlaager/libvirt,eskultety/libvirt,nertpinx/libvirt,andreabolognani/libvirt,jfehlig/libvirt,agx/libvirt,VenkatDatta/libvirt,crobinso/libvirt