mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
interface: Introduce virInterfaceObjNumOfInterfaces
Unlike other drivers, this is a test driver only API. Still combining the logic of testConnectNumOfInterfaces and testConnectNumOfDefinedInterfaces makes things a bit easier in the long run. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
4c661a944d
commit
7dc4513808
@ -215,3 +215,22 @@ virInterfaceObjRemove(virInterfaceObjListPtr interfaces,
|
|||||||
virInterfaceObjUnlock(interfaces->objs[i]);
|
virInterfaceObjUnlock(interfaces->objs[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
virInterfaceObjNumOfInterfaces(virInterfaceObjListPtr interfaces,
|
||||||
|
bool wantActive)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
int ninterfaces = 0;
|
||||||
|
|
||||||
|
for (i = 0; (i < interfaces->count); i++) {
|
||||||
|
virInterfaceObjPtr obj = interfaces->objs[i];
|
||||||
|
virInterfaceObjLock(obj);
|
||||||
|
if (wantActive == virInterfaceObjIsActive(obj))
|
||||||
|
ninterfaces++;
|
||||||
|
virInterfaceObjUnlock(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ninterfaces;
|
||||||
|
}
|
||||||
|
@ -81,4 +81,8 @@ typedef bool
|
|||||||
(*virInterfaceObjListFilter)(virConnectPtr conn,
|
(*virInterfaceObjListFilter)(virConnectPtr conn,
|
||||||
virInterfaceDefPtr def);
|
virInterfaceDefPtr def);
|
||||||
|
|
||||||
|
int
|
||||||
|
virInterfaceObjNumOfInterfaces(virInterfaceObjListPtr interfaces,
|
||||||
|
bool wantActive);
|
||||||
|
|
||||||
#endif /* __VIRINTERFACEOBJ_H__ */
|
#endif /* __VIRINTERFACEOBJ_H__ */
|
||||||
|
@ -938,6 +938,7 @@ virInterfaceObjFindByName;
|
|||||||
virInterfaceObjListClone;
|
virInterfaceObjListClone;
|
||||||
virInterfaceObjListFree;
|
virInterfaceObjListFree;
|
||||||
virInterfaceObjLock;
|
virInterfaceObjLock;
|
||||||
|
virInterfaceObjNumOfInterfaces;
|
||||||
virInterfaceObjRemove;
|
virInterfaceObjRemove;
|
||||||
virInterfaceObjUnlock;
|
virInterfaceObjUnlock;
|
||||||
|
|
||||||
|
@ -3649,18 +3649,12 @@ testInterfaceObjFindByName(testDriverPtr privconn,
|
|||||||
static int testConnectNumOfInterfaces(virConnectPtr conn)
|
static int testConnectNumOfInterfaces(virConnectPtr conn)
|
||||||
{
|
{
|
||||||
testDriverPtr privconn = conn->privateData;
|
testDriverPtr privconn = conn->privateData;
|
||||||
size_t i;
|
int ninterfaces;
|
||||||
int count = 0;
|
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
for (i = 0; (i < privconn->ifaces.count); i++) {
|
ninterfaces = virInterfaceObjNumOfInterfaces(&privconn->ifaces, true);
|
||||||
virInterfaceObjLock(privconn->ifaces.objs[i]);
|
|
||||||
if (virInterfaceObjIsActive(privconn->ifaces.objs[i]))
|
|
||||||
count++;
|
|
||||||
virInterfaceObjUnlock(privconn->ifaces.objs[i]);
|
|
||||||
}
|
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return count;
|
return ninterfaces;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int testConnectListInterfaces(virConnectPtr conn, char **const names, int nnames)
|
static int testConnectListInterfaces(virConnectPtr conn, char **const names, int nnames)
|
||||||
@ -3695,18 +3689,12 @@ static int testConnectListInterfaces(virConnectPtr conn, char **const names, int
|
|||||||
static int testConnectNumOfDefinedInterfaces(virConnectPtr conn)
|
static int testConnectNumOfDefinedInterfaces(virConnectPtr conn)
|
||||||
{
|
{
|
||||||
testDriverPtr privconn = conn->privateData;
|
testDriverPtr privconn = conn->privateData;
|
||||||
size_t i;
|
int ninterfaces;
|
||||||
int count = 0;
|
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
for (i = 0; i < privconn->ifaces.count; i++) {
|
ninterfaces = virInterfaceObjNumOfInterfaces(&privconn->ifaces, false);
|
||||||
virInterfaceObjLock(privconn->ifaces.objs[i]);
|
|
||||||
if (!virInterfaceObjIsActive(privconn->ifaces.objs[i]))
|
|
||||||
count++;
|
|
||||||
virInterfaceObjUnlock(privconn->ifaces.objs[i]);
|
|
||||||
}
|
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return count;
|
return ninterfaces;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int testConnectListDefinedInterfaces(virConnectPtr conn, char **const names, int nnames)
|
static int testConnectListDefinedInterfaces(virConnectPtr conn, char **const names, int nnames)
|
||||||
|
Loading…
Reference in New Issue
Block a user