1
0
mirror of https://gitlab.com/libvirt/libvirt-python.git synced 2025-12-04 20:23:46 +03:00

Add overrides for network port UUID getter/lookup methods

The generator creates broken code for all these methods.

Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé
2020-01-02 15:46:43 +00:00
parent 7b18e3bae8
commit 56afc9b33f
3 changed files with 102 additions and 0 deletions

View File

@@ -430,6 +430,9 @@ skip_impl = (
'virNetworkGetUUID',
'virNetworkGetUUIDString',
'virNetworkLookupByUUID',
'virNetworkPortGetUUID',
'virNetworkPortGetUUIDString',
'virNetworkPortLookupByUUID',
'virDomainGetAutostart',
'virNetworkGetAutostart',
'virDomainBlockStats',

View File

@@ -64,6 +64,12 @@
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='uuid' type='const unsigned char *' info='the UUID string for the network, must be 16 bytes'/>
</function>
<function name='virNetworkPortLookupByUUID' file='python'>
<info>Try to lookup a port on the given network based on its UUID.</info>
<return type='virNetworkPortPtr' info='a new network port object or NULL in case of failure'/>
<arg name='net' type='virNetworkPtr' info='pointer to the network object'/>
<arg name='uuid' type='const unsigned char *' info='the UUID string for the network port, must be 16 bytes'/>
</function>
<function name='virDomainGetInfo' file='python'>
<info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</info>
<return type='char *' info='the list of information or None in case of error'/>
@@ -153,6 +159,16 @@
<return type='char *' info='the UUID string or None in case of error'/>
<arg name='net' type='virNetworkPtr' info='a network object'/>
</function>
<function name='virNetworkPortGetUUID' file='python'>
<info>Extract the UUID unique Identifier of a network port.</info>
<return type='char *' info='the 16 bytes string or None in case of error'/>
<arg name='domain' type='virNetworkPortPtr' info='a network port object'/>
</function>
<function name='virNetworkPortGetUUIDString' file='python'>
<info>Fetch globally unique ID of the network port as a string.</info>
<return type='char *' info='the UUID string or None in case of error'/>
<arg name='net' type='virNetworkPortPtr' info='a network port object'/>
</function>
<function name='virStoragePoolGetUUID' file='python'>
<info>Extract the UUID unique Identifier of a storage pool.</info>
<return type='char *' info='the 16 bytes string or None in case of error'/>

View File

@@ -10185,6 +10185,86 @@ libvirt_virNetworkPortGetParameters(PyObject *self ATTRIBUTE_UNUSED,
virTypedParamsFree(params, nparams);
return dict;
}
static PyObject *
libvirt_virNetworkPortGetUUID(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args)
{
unsigned char uuid[VIR_UUID_BUFLEN];
virNetworkPortPtr port;
PyObject *pyobj_port;
int c_retval;
if (!PyArg_ParseTuple(args, (char *)"O:virNetworkPortGetUUID", &pyobj_port))
return NULL;
port = (virNetworkPortPtr) PyvirNetworkPort_Get(pyobj_port);
if (port == NULL)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNetworkPortGetUUID(port, &uuid[0]);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0)
return VIR_PY_NONE;
return libvirt_charPtrSizeWrap((char *) &uuid[0], VIR_UUID_BUFLEN);
}
static PyObject *
libvirt_virNetworkPortGetUUIDString(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
virNetworkPortPtr port;
PyObject *pyobj_port;
int c_retval;
if (!PyArg_ParseTuple(args, (char *)"O:virNetworkPortGetUUIDString",
&pyobj_port))
return NULL;
port = (virNetworkPortPtr) PyvirNetworkPort_Get(pyobj_port);
if (port == NULL)
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNetworkPortGetUUIDString(port, &uuidstr[0]);
LIBVIRT_END_ALLOW_THREADS;
if (c_retval < 0)
return VIR_PY_NONE;
return libvirt_constcharPtrWrap((char *) &uuidstr[0]);
}
static PyObject *
libvirt_virNetworkPortLookupByUUID(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args)
{
virNetworkPortPtr c_retval;
virNetworkPtr net;
PyObject *pyobj_net;
unsigned char *uuid;
int len;
if (!PyArg_ParseTuple(args, (char *)"Oz#:virNetworkPortLookupByUUID",
&pyobj_net, &uuid, &len))
return NULL;
net = (virNetworkPtr) PyvirNetwork_Get(pyobj_net);
if ((uuid == NULL) || (len != VIR_UUID_BUFLEN))
return VIR_PY_NONE;
LIBVIRT_BEGIN_ALLOW_THREADS;
c_retval = virNetworkPortLookupByUUID(net, uuid);
LIBVIRT_END_ALLOW_THREADS;
return libvirt_virNetworkPortPtrWrap((virNetworkPortPtr) c_retval);
}
#endif /* LIBVIR_CHECK_VERSION(5, 5, 0) */
#if LIBVIR_CHECK_VERSION(5, 7, 0)
@@ -10535,6 +10615,9 @@ static PyMethodDef libvirtMethods[] = {
{(char *) "virNetworkListAllPorts", libvirt_virNetworkListAllPorts, METH_VARARGS, NULL},
{(char *) "virNetworkPortSetParameters", libvirt_virNetworkPortSetParameters, METH_VARARGS, NULL},
{(char *) "virNetworkPortGetParameters", libvirt_virNetworkPortGetParameters, METH_VARARGS, NULL},
{(char *) "virNetworkPortGetUUID", libvirt_virNetworkPortGetUUID, METH_VARARGS, NULL},
{(char *) "virNetworkPortGetUUIDString", libvirt_virNetworkPortGetUUIDString, METH_VARARGS, NULL},
{(char *) "virNetworkPortLookupByUUID", libvirt_virNetworkPortLookupByUUID, METH_VARARGS, NULL},
#endif /* LIBVIR_CHECK_VERSION(5, 5, 0) */
#if LIBVIR_CHECK_VERSION(5, 7, 0)
{(char *) "virDomainGetGuestInfo", libvirt_virDomainGetGuestInfo, METH_VARARGS, NULL},