network_conf: Introduce virNetworkObjListNumOfNetworks

An accessor following pattern laid out by virDomainObjList* APIs.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Michal Privoznik 2015-02-23 17:46:01 +01:00
parent 5a13c48b73
commit 0ae7def635
3 changed files with 32 additions and 0 deletions

View File

@ -4355,3 +4355,29 @@ virNetworkObjListGetNames(virNetworkObjListPtr nets,
VIR_FREE(names[i]);
return -1;
}
int
virNetworkObjListNumOfNetworks(virNetworkObjListPtr nets,
bool active,
virNetworkObjListFilter filter,
virConnectPtr conn)
{
int count = 0;
size_t i;
for (i = 0; i < nets->count; i++) {
virNetworkObjPtr obj = nets->objs[i];
virNetworkObjLock(obj);
if (filter && !filter(conn, obj->def)) {
virNetworkObjUnlock(obj);
continue;
}
if ((active && virNetworkObjIsActive(obj)) ||
(!active && !virNetworkObjIsActive(obj)))
count++;
virNetworkObjUnlock(obj);
}
return count;
}

View File

@ -459,6 +459,11 @@ int virNetworkObjListGetNames(virNetworkObjListPtr nets,
virNetworkObjListFilter filter,
virConnectPtr conn);
int virNetworkObjListNumOfNetworks(virNetworkObjListPtr nets,
bool active,
virNetworkObjListFilter filter,
virConnectPtr conn);
/* for testing */
int
virNetworkDefUpdateSection(virNetworkDefPtr def,

View File

@ -572,6 +572,7 @@ virNetworkObjListExport;
virNetworkObjListForEach;
virNetworkObjListFree;
virNetworkObjListGetNames;
virNetworkObjListNumOfNetworks;
virNetworkObjLock;
virNetworkObjReplacePersistentDef;
virNetworkObjSetDefTransient;