示例#1
0
//register an event
func myrebootcallback(c libvirt.VirConnection, d libvirt.VirDomain, event int, detail int) {
	fmt.Printf("Got event %d\n", event)
	if event == libvirt.VIR_DOMAIN_EVENT_STOPPED {
		fmt.Println("rebooting...")
		d.Create()
	}
	name, _ := d.GetName()
	if callbackMap.Check(name) == true {
		callbackid := callbackMap.Get(name).(int)
		libvirt.ConnectDomainEventDeregister(c, callbackid)
		callbackMap.Delete(name)
	}
}