summaryrefslogtreecommitdiff
path: root/libvirt-override-virConnect.py
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2017-01-09 18:07:32 +0000
committerDaniel P. Berrange <berrange@redhat.com>2017-01-09 18:07:40 +0000
commit69797c4726f69480caeb8477f8f6fa708ce5b831 (patch)
tree7227d1c139d84904aa0b58aa643478884a1dbf39 /libvirt-override-virConnect.py
parentff560532fdebf5a66c2dfc764f112cebd5090552 (diff)
downloadlibvirt-python-69797c4726f69480caeb8477f8f6fa708ce5b831.tar.gz
Add support for secret event APIs
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'libvirt-override-virConnect.py')
-rw-r--r--libvirt-override-virConnect.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/libvirt-override-virConnect.py b/libvirt-override-virConnect.py
index fb3d476..d26b480 100644
--- a/libvirt-override-virConnect.py
+++ b/libvirt-override-virConnect.py
@@ -392,6 +392,49 @@
self.nodeDeviceEventCallbackID[ret] = opaque
return ret
+ def _dispatchSecretEventLifecycleCallback(self, net, event, detail, cbData):
+ """Dispatches events to python user secret lifecycle event callbacks
+ """
+ cb = cbData["cb"]
+ opaque = cbData["opaque"]
+
+ cb(self, virSecret(self, _obj=net), event, detail, opaque)
+ return 0
+
+ def _dispatchSecretEventGEnericCallback(self, net, cbData):
+ """Dispatches events to python user secret generic event callbacks
+ """
+ cb = cbData["cb"]
+ opaque = cbData["opaque"]
+
+ cb(self, virSecret(self, _obj=net), opaque)
+ return 0
+
+ def secretEventDeregisterAny(self, callbackID):
+ """Removes a Secret Event Callback. De-registering for a
+ secret callback will disable delivery of this event type"""
+ try:
+ ret = libvirtmod.virConnectSecretEventDeregisterAny(self._o, callbackID)
+ if ret == -1: raise libvirtError ('virConnectSecretEventDeregisterAny() failed', conn=self)
+ del self.secretEventCallbackID[callbackID]
+ except AttributeError:
+ pass
+
+ def secretEventRegisterAny(self, net, eventID, cb, opaque):
+ """Adds a Secret Event Callback. Registering for a secret
+ callback will enable delivery of the events"""
+ if not hasattr(self, 'secretEventCallbackID'):
+ self.secretEventCallbackID = {}
+ cbData = { "cb": cb, "conn": self, "opaque": opaque }
+ if net is None:
+ ret = libvirtmod.virConnectSecretEventRegisterAny(self._o, None, eventID, cbData)
+ else:
+ ret = libvirtmod.virConnectSecretEventRegisterAny(self._o, net._o, eventID, cbData)
+ if ret == -1:
+ raise libvirtError ('virConnectSecretEventRegisterAny() failed', conn=self)
+ self.secretEventCallbackID[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)