mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
python: add bindings for virConnectGetCPUModelNames
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
ea45b23cfc
commit
de51dc9c9a
@ -250,6 +250,7 @@ lxc_functions_failed = []
|
|||||||
qemu_functions_failed = []
|
qemu_functions_failed = []
|
||||||
functions_skipped = [
|
functions_skipped = [
|
||||||
"virConnectListDomains",
|
"virConnectListDomains",
|
||||||
|
"virConnectGetCPUModelNames",
|
||||||
]
|
]
|
||||||
lxc_functions_skipped = []
|
lxc_functions_skipped = []
|
||||||
qemu_functions_skipped = []
|
qemu_functions_skipped = []
|
||||||
@ -366,7 +367,6 @@ foreign_encoding_args = (
|
|||||||
# Class methods which are written by hand in libvirt.c but the Python-level
|
# Class methods which are written by hand in libvirt.c but the Python-level
|
||||||
# code is still automatically generated (so they are not in skip_function()).
|
# code is still automatically generated (so they are not in skip_function()).
|
||||||
skip_impl = (
|
skip_impl = (
|
||||||
"virConnectGetCPUModelNames",
|
|
||||||
'virConnectGetVersion',
|
'virConnectGetVersion',
|
||||||
'virConnectGetLibVersion',
|
'virConnectGetLibVersion',
|
||||||
'virConnectListDomainsID',
|
'virConnectListDomainsID',
|
||||||
|
@ -476,6 +476,13 @@
|
|||||||
<arg name='xmlCPUs' type='const char **' info='array of XML descriptions of host CPUs'/>
|
<arg name='xmlCPUs' type='const char **' info='array of XML descriptions of host CPUs'/>
|
||||||
<arg name='flags' type='unsigned int' info='fine-tuning flags, currently unused, pass 0.'/>
|
<arg name='flags' type='unsigned int' info='fine-tuning flags, currently unused, pass 0.'/>
|
||||||
</function>
|
</function>
|
||||||
|
<function name='virConnectGetCPUModelNames' file='python'>
|
||||||
|
<info>Get the list of supported CPU models.</info>
|
||||||
|
<return type='char *' info='list of supported CPU models'/>
|
||||||
|
<arg name='conn' type='virConnectPtr' info='virConnect connection'/>
|
||||||
|
<arg name='arch' type='const char *' info='arch'/>
|
||||||
|
<arg name='flags' type='unsigned int' info='fine-tuning flags, currently unused, pass 0.'/>
|
||||||
|
</function>
|
||||||
<function name='virDomainSnapshotListNames' file='python'>
|
<function name='virDomainSnapshotListNames' file='python'>
|
||||||
<info>collect the list of snapshot names for the given domain</info>
|
<info>collect the list of snapshot names for the given domain</info>
|
||||||
<arg name='dom' type='virDomainPtr' info='pointer to the domain'/>
|
<arg name='dom' type='virDomainPtr' info='pointer to the domain'/>
|
||||||
|
@ -2276,6 +2276,58 @@ libvirt_virConnectGetVersion(PyObject *self ATTRIBUTE_UNUSED,
|
|||||||
return PyInt_FromLong(hvVersion);
|
return PyInt_FromLong(hvVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PyObject *
|
||||||
|
libvirt_virConnectGetCPUModelNames(PyObject *self ATTRIBUTE_UNUSED,
|
||||||
|
PyObject *args)
|
||||||
|
{
|
||||||
|
int c_retval;
|
||||||
|
virConnectPtr conn;
|
||||||
|
PyObject *rv = NULL, *pyobj_conn;
|
||||||
|
char **models = NULL;
|
||||||
|
size_t i;
|
||||||
|
int flags = 0;
|
||||||
|
const char *arch = NULL;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, (char *)"Osi:virConnectGetCPUModelNames",
|
||||||
|
&pyobj_conn, &arch, &flags))
|
||||||
|
return NULL;
|
||||||
|
conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
|
||||||
|
|
||||||
|
LIBVIRT_BEGIN_ALLOW_THREADS;
|
||||||
|
|
||||||
|
c_retval = virConnectGetCPUModelNames(conn, arch, &models, flags);
|
||||||
|
|
||||||
|
LIBVIRT_END_ALLOW_THREADS;
|
||||||
|
|
||||||
|
if (c_retval == -1)
|
||||||
|
return VIR_PY_INT_FAIL;
|
||||||
|
|
||||||
|
if ((rv = PyList_New(c_retval)) == NULL)
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
for (i = 0; i < c_retval; i++) {
|
||||||
|
PyObject *str;
|
||||||
|
if ((str = PyString_FromString(models[i])) == NULL)
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
PyList_SET_ITEM(rv, i, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
done:
|
||||||
|
if (models) {
|
||||||
|
for (i = 0; i < c_retval; i++)
|
||||||
|
VIR_FREE(models[i]);
|
||||||
|
VIR_FREE(models);
|
||||||
|
}
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
|
||||||
|
error:
|
||||||
|
Py_XDECREF(rv);
|
||||||
|
rv = VIR_PY_INT_FAIL;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
libvirt_virConnectGetLibVersion(PyObject *self ATTRIBUTE_UNUSED,
|
libvirt_virConnectGetLibVersion(PyObject *self ATTRIBUTE_UNUSED,
|
||||||
PyObject *args)
|
PyObject *args)
|
||||||
@ -7171,6 +7223,7 @@ static PyMethodDef libvirtMethods[] = {
|
|||||||
#include "libvirt-export.c"
|
#include "libvirt-export.c"
|
||||||
{(char *) "virGetVersion", libvirt_virGetVersion, METH_VARARGS, NULL},
|
{(char *) "virGetVersion", libvirt_virGetVersion, METH_VARARGS, NULL},
|
||||||
{(char *) "virConnectGetVersion", libvirt_virConnectGetVersion, METH_VARARGS, NULL},
|
{(char *) "virConnectGetVersion", libvirt_virConnectGetVersion, METH_VARARGS, NULL},
|
||||||
|
{(char *) "virConnectGetCPUModelNames", libvirt_virConnectGetCPUModelNames, METH_VARARGS, NULL},
|
||||||
{(char *) "virConnectGetLibVersion", libvirt_virConnectGetLibVersion, METH_VARARGS, NULL},
|
{(char *) "virConnectGetLibVersion", libvirt_virConnectGetLibVersion, METH_VARARGS, NULL},
|
||||||
{(char *) "virConnectOpenAuth", libvirt_virConnectOpenAuth, METH_VARARGS, NULL},
|
{(char *) "virConnectOpenAuth", libvirt_virConnectOpenAuth, METH_VARARGS, NULL},
|
||||||
{(char *) "virConnectListDomainsID", libvirt_virConnectListDomainsID, METH_VARARGS, NULL},
|
{(char *) "virConnectListDomainsID", libvirt_virConnectListDomainsID, METH_VARARGS, NULL},
|
||||||
|
@ -207,3 +207,14 @@ def virEventAddTimeout(timeout, cb, opaque):
|
|||||||
ret = libvirtmod.virEventAddTimeout(timeout, cbData)
|
ret = libvirtmod.virEventAddTimeout(timeout, cbData)
|
||||||
if ret == -1: raise libvirtError ('virEventAddTimeout() failed')
|
if ret == -1: raise libvirtError ('virEventAddTimeout() failed')
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def getCPUModelNames(conn, arch, flags=0):
|
||||||
|
"""
|
||||||
|
get the list of supported CPU models.
|
||||||
|
@conn: virConnect connection
|
||||||
|
@arch: Architecture
|
||||||
|
@flags: extra flags; not used yet, so callers should always pass 0.
|
||||||
|
"""
|
||||||
|
ret = libvirtmod.virConnectGetCPUModelNames(conn._o, arch, flags)
|
||||||
|
if ret == None: raise libvirtError ('virConnectGetCPUModelNames() failed', conn=self)
|
||||||
|
return ret
|
||||||
|
Loading…
x
Reference in New Issue
Block a user