mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 05:17:59 +03: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 = []
|
||||
functions_skipped = [
|
||||
"virConnectListDomains",
|
||||
"virConnectGetCPUModelNames",
|
||||
]
|
||||
lxc_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
|
||||
# code is still automatically generated (so they are not in skip_function()).
|
||||
skip_impl = (
|
||||
"virConnectGetCPUModelNames",
|
||||
'virConnectGetVersion',
|
||||
'virConnectGetLibVersion',
|
||||
'virConnectListDomainsID',
|
||||
|
@ -476,6 +476,13 @@
|
||||
<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.'/>
|
||||
</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'>
|
||||
<info>collect the list of snapshot names for the given domain</info>
|
||||
<arg name='dom' type='virDomainPtr' info='pointer to the domain'/>
|
||||
|
@ -2276,6 +2276,58 @@ libvirt_virConnectGetVersion(PyObject *self ATTRIBUTE_UNUSED,
|
||||
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 *
|
||||
libvirt_virConnectGetLibVersion(PyObject *self ATTRIBUTE_UNUSED,
|
||||
PyObject *args)
|
||||
@ -7171,6 +7223,7 @@ static PyMethodDef libvirtMethods[] = {
|
||||
#include "libvirt-export.c"
|
||||
{(char *) "virGetVersion", libvirt_virGetVersion, 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 *) "virConnectOpenAuth", libvirt_virConnectOpenAuth, METH_VARARGS, NULL},
|
||||
{(char *) "virConnectListDomainsID", libvirt_virConnectListDomainsID, METH_VARARGS, NULL},
|
||||
|
@ -207,3 +207,14 @@ def virEventAddTimeout(timeout, cb, opaque):
|
||||
ret = libvirtmod.virEventAddTimeout(timeout, cbData)
|
||||
if ret == -1: raise libvirtError ('virEventAddTimeout() failed')
|
||||
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…
Reference in New Issue
Block a user