summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Denemark <jdenemar@redhat.com>2013-02-18 23:20:08 +0100
committerJiri Denemark <jdenemar@redhat.com>2013-02-22 17:35:58 +0100
commitb1f3f2d37d2b008193ca58c97757f6163583bcd0 (patch)
treedb68091f364720cd7ced48ad9fb2825f08015efa
parent78975020ebf9bf952cd711b2aeaa7d3a47b77bf3 (diff)
downloadlibvirt-python-split-b1f3f2d37d2b008193ca58c97757f6163583bcd0.tar.gz
libvirt-python-split-b1f3f2d37d2b008193ca58c97757f6163583bcd0.tar.xz
libvirt-python-split-b1f3f2d37d2b008193ca58c97757f6163583bcd0.zip
python: Implement virDomainGetJobStats wrapper
-rw-r--r--libvirt-override-api.xml6
-rw-r--r--libvirt-override.c42
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, &params, &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},