diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2017-01-09 18:07:32 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-01-09 18:07:40 +0000 |
commit | 69797c4726f69480caeb8477f8f6fa708ce5b831 (patch) | |
tree | 7227d1c139d84904aa0b58aa643478884a1dbf39 /libvirt-override-virConnect.py | |
parent | ff560532fdebf5a66c2dfc764f112cebd5090552 (diff) | |
download | libvirt-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.py | 43 |
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) |