summaryrefslogtreecommitdiff
path: root/libvirt-override-virConnect.py
diff options
context:
space:
mode:
authorJovanka Gulicoska <jovanka.gulicoska@gmail.com>2016-07-28 14:14:13 +0200
committerCole Robinson <crobinso@redhat.com>2016-08-02 09:55:56 -0400
commit58a986984ff0762e9ed3962e70833729c987e4a6 (patch)
treeb37235b61056e9dced93de442761f710d2445268 /libvirt-override-virConnect.py
parent94a4f35c587bb91c7f1804627c59b2204d0f7205 (diff)
downloadlibvirt-python-58a986984ff0762e9ed3962e70833729c987e4a6.tar.gz
Python binding for node poll lifecycle events API
Diffstat (limited to 'libvirt-override-virConnect.py')
-rw-r--r--libvirt-override-virConnect.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/libvirt-override-virConnect.py b/libvirt-override-virConnect.py
index b085b07..87c5483 100644
--- a/libvirt-override-virConnect.py
+++ b/libvirt-override-virConnect.py
@@ -347,6 +347,41 @@
self.storagePoolEventCallbackID[ret] = opaque
return ret
+ def _dispatchNodeDeviceEventLifecycleCallback(self, dev, event, detail, cbData):
+ """Dispatches events to python user node device
+ lifecycle event callbacks
+ """
+ cb = cbData["cb"]
+ opaque = cbData["opaque"]
+
+ cb(self, virNodeDevice(self, _obj=dev), event, detail, opaque)
+ return 0
+
+ def nodeDeviceEventDeregisterAny(self, callbackID):
+ """Removes a Node Device Event Callback. De-registering for a
+ node device callback will disable delivery of this event type"""
+ try:
+ ret = libvirtmod.virConnectNodeDeviceEventDeregisterAny(self._o, callbackID)
+ if ret == -1: raise libvirtError ('virConnectNodeDeviceEventDeregisterAny() failed', conn=self)
+ del self.nodeDeviceEventCallbackID[callbackID]
+ except AttributeError:
+ pass
+
+ def nodeDeviceEventRegisterAny(self, dev, eventID, cb, opaque):
+ """Adds a Node Device Event Callback. Registering for a node device
+ callback will enable delivery of the events"""
+ if not hasattr(self, 'nodeDeviceEventCallbackID'):
+ self.nodeDeviceEventCallbackID = {}
+ cbData = { "cb": cb, "conn": self, "opaque": opaque }
+ if dev is None:
+ ret = libvirtmod.virConnectNodeDeviceEventRegisterAny(self._o, None, eventID, cbData)
+ else:
+ ret = libvirtmod.virConnectNodeDeviceEventRegisterAny(self._o, dev._o, eventID, cbData)
+ if ret == -1:
+ raise libvirtError ('virConnectNodeDeviceEventRegisterAny() failed', conn=self)
+ self.nodeDeviceEventCallbackID[ret] = opaque
+ return ret
+
def listAllDomains(self, flags=0):
"""List all domains and returns a list of domain objects"""
ret = libvirtmod.virConnectListAllDomains(self._o, flags)