From b1f3f2d37d2b008193ca58c97757f6163583bcd0 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Mon, 18 Feb 2013 23:20:08 +0100 Subject: python: Implement virDomainGetJobStats wrapper --- libvirt-override-api.xml | 6 ++++++ libvirt-override.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/libvirt-override-api.xml b/libvirt-override-api.xml index a0e0496..446cdbd 100644 --- a/libvirt-override-api.xml +++ b/libvirt-override-api.xml @@ -84,6 +84,12 @@ + + Extract information about an active job being processed for a domain. + + + + Extract hardware information about the Node. diff --git a/libvirt-override.c b/libvirt-override.c index 8154024..ebd6878 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -4182,6 +4182,47 @@ libvirt_virDomainGetJobInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { return py_retval; } +static PyObject * +libvirt_virDomainGetJobStats(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) +{ + PyObject *pyobj_domain; + virDomainPtr domain; + unsigned int flags; + virTypedParameterPtr params = NULL; + int nparams = 0; + int type; + PyObject *dict = NULL; + int rc; + + if (!PyArg_ParseTuple(args, (char *) "Oi:virDomainGetJobStats", + &pyobj_domain, &flags)) + goto cleanup; + domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); + + LIBVIRT_BEGIN_ALLOW_THREADS; + rc = virDomainGetJobStats(domain, &type, ¶ms, &nparams, flags); + LIBVIRT_END_ALLOW_THREADS; + if (rc < 0) + goto cleanup; + + if (!(dict = getPyVirTypedParameter(params, nparams))) + goto cleanup; + + if (PyDict_SetItem(dict, libvirt_constcharPtrWrap("type"), + libvirt_intWrap(type)) < 0) { + Py_DECREF(dict); + dict = NULL; + goto cleanup; + } + +cleanup: + virTypedParamsFree(params, nparams); + if (dict) + return dict; + else + return VIR_PY_NONE; +} + static PyObject * libvirt_virDomainGetBlockJobInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) @@ -6673,6 +6714,7 @@ static PyMethodDef libvirtMethods[] = { {(char *) "virConnectListAllInterfaces", libvirt_virConnectListAllInterfaces, METH_VARARGS, NULL}, {(char *) "virConnectBaselineCPU", libvirt_virConnectBaselineCPU, METH_VARARGS, NULL}, {(char *) "virDomainGetJobInfo", libvirt_virDomainGetJobInfo, METH_VARARGS, NULL}, + {(char *) "virDomainGetJobStats", libvirt_virDomainGetJobStats, METH_VARARGS, NULL}, {(char *) "virDomainSnapshotListNames", libvirt_virDomainSnapshotListNames, METH_VARARGS, NULL}, {(char *) "virDomainListAllSnapshots", libvirt_virDomainListAllSnapshots, METH_VARARGS, NULL}, {(char *) "virDomainSnapshotListChildrenNames", libvirt_virDomainSnapshotListChildrenNames, METH_VARARGS, NULL}, -- cgit