diff options
author | Jiri Denemark <jdenemar@redhat.com> | 2013-02-18 23:20:08 +0100 |
---|---|---|
committer | Jiri Denemark <jdenemar@redhat.com> | 2013-02-22 17:35:58 +0100 |
commit | b1f3f2d37d2b008193ca58c97757f6163583bcd0 (patch) | |
tree | db68091f364720cd7ced48ad9fb2825f08015efa | |
parent | 78975020ebf9bf952cd711b2aeaa7d3a47b77bf3 (diff) | |
download | libvirt-python-v8-b1f3f2d37d2b008193ca58c97757f6163583bcd0.tar.gz libvirt-python-v8-b1f3f2d37d2b008193ca58c97757f6163583bcd0.tar.xz libvirt-python-v8-b1f3f2d37d2b008193ca58c97757f6163583bcd0.zip |
python: Implement virDomainGetJobStats wrapper
-rw-r--r-- | libvirt-override-api.xml | 6 | ||||
-rw-r--r-- | libvirt-override.c | 42 |
2 files changed, 48 insertions, 0 deletions
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 @@ <return type='int *' info='the list of information or None in case of error'/> <arg name='domain' type='virDomainPtr' info='a domain object'/> </function> + <function name='virDomainGetJobStats' file='python'> + <info>Extract information about an active job being processed for a domain.</info> + <return type='virDomainJobStats' info='dictionary mapping field names to values or None in case of error'/> + <arg name='domain' type='virDomainPtr' info='a domain object'/> + <arg name='flags' type='unsigned int' info='flags, currently unused, pass 0.'/> + </function> <function name='virNodeGetInfo' file='python'> <info>Extract hardware information about the Node.</info> <return type='int *' info='the list of information or None in case of error'/> diff --git a/libvirt-override.c b/libvirt-override.c index 8154024..ebd6878 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -4183,6 +4183,47 @@ libvirt_virDomainGetJobInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { } 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}, |