diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2021-02-15 15:16:59 +0000 |
---|---|---|
committer | Daniel P. Berrangé <berrange@redhat.com> | 2021-02-15 16:02:21 +0000 |
commit | 75c053e49ef5c7fbd748863e9507f46737bb5bcd (patch) | |
tree | 1877884832a7768aeb97e554cfdf13dd228bc0f1 | |
parent | ac2647f9587f50d8e15c88567b3dab2a087cea9d (diff) | |
download | libvirt-python-75c053e49ef5c7fbd748863e9507f46737bb5bcd.tar.gz |
Add impl override for virDomainGetMessages
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
-rwxr-xr-x | generator.py | 1 | ||||
-rw-r--r-- | libvirt-override-api.xml | 6 | ||||
-rw-r--r-- | libvirt-override.c | 46 |
3 files changed, 53 insertions, 0 deletions
diff --git a/generator.py b/generator.py index 6dd1430..656f7b8 100755 --- a/generator.py +++ b/generator.py @@ -479,6 +479,7 @@ skip_impl = { 'virDomainGetGuestInfo', 'virDomainAuthorizedSSHKeysGet', 'virDomainAuthorizedSSHKeysSet', + 'virDomainGetMessages', } lxc_skip_impl = { diff --git a/libvirt-override-api.xml b/libvirt-override-api.xml index 02b0856..a96e5c4 100644 --- a/libvirt-override-api.xml +++ b/libvirt-override-api.xml @@ -834,5 +834,11 @@ <arg name='keys' type='char *' info='optional list of authorized keys to set/append/remove'/> <arg name='flags' type='int' info='optional OR'ed set of virDomainAuthorizedSSHKeysSetFlags'/> </function> + <function name='virDomainGetMessages' file='python'> + <info>Fetch list of messages reported against domain.</info> + <return type='char *' info='list of messages'/> + <arg name='domain' type='virDomainPtr' info='a domain object'/> + <arg name='flags' type='unsigned int' info='optional fine-tuning flags'/> + </function> </symbols> </api> diff --git a/libvirt-override.c b/libvirt-override.c index d9eee28..1f55864 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -10514,6 +10514,49 @@ libvirt_virDomainAuthorizedSSHKeysSet(PyObject *self ATTRIBUTE_UNUSED, } #endif /* LIBVIR_CHECK_VERSION(6, 10, 0) */ +#if LIBVIR_CHECK_VERSION(7, 1, 0) +static PyObject * +libvirt_virDomainGetMessages(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args) +{ + PyObject *pyobj_dom = NULL; + virDomainPtr dom = NULL; + char **msgs = NULL; + int nmsgs; + int i; + unsigned int flags; + PyObject *ret = NULL; + + if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetMessages", + &pyobj_dom, &flags)) + return NULL; + dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom); + + LIBVIRT_BEGIN_ALLOW_THREADS; + nmsgs = virDomainGetMessages(dom, &msgs, flags); + LIBVIRT_END_ALLOW_THREADS; + + if (nmsgs < 0) + return VIR_PY_NONE; + + if ((ret = PyList_New(nmsgs)) == NULL) + goto error; + + for (i = 0; i < nmsgs; i++) + VIR_PY_LIST_SET_GOTO(ret, i, libvirt_constcharPtrWrap(msgs[i]), error); + + done: + for (i = 0; i < nmsgs; i++) + VIR_FREE(msgs[i]); + VIR_FREE(msgs); + return ret; + + error: + Py_CLEAR(ret); + goto done; +} +#endif /* LIBVIR_CHECK_VERSION(7, 1, 0) */ + /************************************************************************ * * @@ -10783,6 +10826,9 @@ static PyMethodDef libvirtMethods[] = { {(char *) "virDomainAuthorizedSSHKeysGet", libvirt_virDomainAuthorizedSSHKeysGet, METH_VARARGS, NULL}, {(char *) "virDomainAuthorizedSSHKeysSet", libvirt_virDomainAuthorizedSSHKeysSet, METH_VARARGS, NULL}, #endif /* LIBVIR_CHECK_VERSION(6, 10, 0) */ +#if LIBVIR_CHECK_VERSION(7, 1, 0) + {(char *) "virDomainGetMessages", libvirt_virDomainGetMessages, METH_VARARGS, NULL}, +#endif /* LIBVIR_CHECK_VERSION(7, 1, 0) */ {NULL, NULL, 0, NULL} }; |