#!/usr/bin/env python

import libvirt
import threading
import time

eventLoopThread = None

def eventLoopRun():
    while True:
        libvirt.virEventRunDefaultImpl()

def eventLoopStart():
    global eventLoopThread

    libvirt.virEventRegisterDefaultImpl()
    eventLoopThread = threading.Thread(target=eventLoopRun, name="libvirtEventLoop")
    eventLoopThread.setDaemon(True)
    eventLoopThread.start()


def reportDefault(conn, dom, event,opaque):
    print "DEFAULT EVENT: Domain %s(%s), pass the default event:%s" % (dom.name(), dom.ID(), event)

def main():
    eventLoopStart()
    
    conn = libvirt.openReadOnly('qemu:///system')
    conn.domainEventRegisterAny(None, libvirt.VIR_DOMAIN_EVENT_ID_DEFAULT, reportDefault, None)

    while 1:
        time.sleep(1)
        
if __name__ == "__main__":
    main()


