summaryrefslogtreecommitdiff
path: root/libvirt-override-virConnect.py
diff options
context:
space:
mode:
authorJovanka Gulicoska <jovanka.gulicoska@gmail.com>2016-06-14 23:22:23 +0200
committerCole Robinson <crobinso@redhat.com>2016-06-16 12:25:44 -0400
commit7eaab4a6c25291e44a603c696151a2817d95986e (patch)
tree68db956fec490c9268a2327a7bd5ae548f859974 /libvirt-override-virConnect.py
parentb4629027f87eecd44d2cecdfa2409e6320c942c9 (diff)
downloadlibvirt-python-7eaab4a6c25291e44a603c696151a2817d95986e.tar.gz
Python binding for storage pool lifecycle events API
Code matches the network event API implementation
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 0f76c59..1aaa586 100644
--- a/libvirt-override-virConnect.py
+++ b/libvirt-override-virConnect.py
@@ -302,6 +302,41 @@
self.domainEventCallbackID[ret] = opaque
return ret
+ def _dispatchStoragePoolEventLifecycleCallback(self, pool, event, detail, cbData):
+ """Dispatches events to python user storage pool
+ lifecycle event callbacks
+ """
+ cb = cbData["cb"]
+ opaque = cbData["opaque"]
+
+ cb(self, virStoragePool(self, _obj=pool), event, detail, opaque)
+ return 0
+
+ def storagePoolEventDeregisterAny(self, callbackID):
+ """Removes a Storage Pool Event Callback. De-registering for a
+ storage pool callback will disable delivery of this event type"""
+ try:
+ ret = libvirtmod.virConnectStoragePoolEventDeregisterAny(self._o, callbackID)
+ if ret == -1: raise libvirtError ('virConnectStoragePoolEventDeregisterAny() failed', conn=self)
+ del self.storagePoolEventCallbackID[callbackID]
+ except AttributeError:
+ pass
+
+ def storagePoolEventRegisterAny(self, pool, eventID, cb, opaque):
+ """Adds a Storage Pool Event Callback. Registering for a storage pool
+ callback will enable delivery of the events"""
+ if not hasattr(self, 'storagePoolEventCallbackID'):
+ self.storagePoolEventCallbackID = {}
+ cbData = { "cb": cb, "conn": self, "opaque": opaque }
+ if pool is None:
+ ret = libvirtmod.virConnectStoragePoolEventRegisterAny(self._o, None, eventID, cbData)
+ else:
+ ret = libvirtmod.virConnectStoragePoolEventRegisterAny(self._o, pool._o, eventID, cbData)
+ if ret == -1:
+ raise libvirtError ('virConnectStoragePoolEventRegisterAny() failed', conn=self)
+ self.storagePoolEventCallbackID[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)