goto cleanup;
}
- if (!(net = virNetworkAssignDef(&privconn->networks, def, false)))
+ if (!(net = virNetworkAssignDef(privconn->networks, def, false)))
goto cleanup;
net->active = 1;
net->autostart = 1;
}
def->uuid_specified = 1;
- if (!(net = virNetworkAssignDef(&privconn->networks, def, false))) {
+ if (!(net = virNetworkAssignDef(privconn->networks, def, false))) {
virNetworkDefFree(def);
goto cleanup;
}
parallelsNetworkOpen(virConnectPtr conn,
unsigned int flags)
{
+ parallelsConnPtr privconn = conn->privateData;
+
virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
if (STRNEQ(conn->driver->name, "Parallels"))
return VIR_DRV_OPEN_DECLINED;
+ if (VIR_ALLOC(privconn->networks) < 0)
+ goto error;
+
if (parallelsLoadNetworks(conn->privateData) < 0)
- return VIR_DRV_OPEN_DECLINED;
+ goto error;
return VIR_DRV_OPEN_SUCCESS;
+ error:
+ VIR_FREE(privconn->networks);
+ return VIR_DRV_OPEN_DECLINED;
}
int parallelsNetworkClose(virConnectPtr conn)
{
parallelsConnPtr privconn = conn->privateData;
parallelsDriverLock(privconn);
- virNetworkObjListFree(&privconn->networks);
+ virNetworkObjListFree(privconn->networks);
+ VIR_FREE(privconn->networks);
parallelsDriverUnlock(privconn);
return 0;
}
parallelsConnPtr privconn = conn->privateData;
parallelsDriverLock(privconn);
- for (i = 0; i < privconn->networks.count; i++) {
- virNetworkObjLock(privconn->networks.objs[i]);
- if (virNetworkObjIsActive(privconn->networks.objs[i]))
+ for (i = 0; i < privconn->networks->count; i++) {
+ virNetworkObjLock(privconn->networks->objs[i]);
+ if (virNetworkObjIsActive(privconn->networks->objs[i]))
nactive++;
- virNetworkObjUnlock(privconn->networks.objs[i]);
+ virNetworkObjUnlock(privconn->networks->objs[i]);
}
parallelsDriverUnlock(privconn);
size_t i;
parallelsDriverLock(privconn);
- for (i = 0; i < privconn->networks.count && got < nnames; i++) {
- virNetworkObjLock(privconn->networks.objs[i]);
- if (virNetworkObjIsActive(privconn->networks.objs[i])) {
- if (VIR_STRDUP(names[got], privconn->networks.objs[i]->def->name) < 0) {
- virNetworkObjUnlock(privconn->networks.objs[i]);
+ for (i = 0; i < privconn->networks->count && got < nnames; i++) {
+ virNetworkObjLock(privconn->networks->objs[i]);
+ if (virNetworkObjIsActive(privconn->networks->objs[i])) {
+ if (VIR_STRDUP(names[got], privconn->networks->objs[i]->def->name) < 0) {
+ virNetworkObjUnlock(privconn->networks->objs[i]);
goto cleanup;
}
got++;
}
- virNetworkObjUnlock(privconn->networks.objs[i]);
+ virNetworkObjUnlock(privconn->networks->objs[i]);
}
parallelsDriverUnlock(privconn);
parallelsConnPtr privconn = conn->privateData;
parallelsDriverLock(privconn);
- for (i = 0; i < privconn->networks.count; i++) {
- virNetworkObjLock(privconn->networks.objs[i]);
- if (!virNetworkObjIsActive(privconn->networks.objs[i]))
+ for (i = 0; i < privconn->networks->count; i++) {
+ virNetworkObjLock(privconn->networks->objs[i]);
+ if (!virNetworkObjIsActive(privconn->networks->objs[i]))
ninactive++;
- virNetworkObjUnlock(privconn->networks.objs[i]);
+ virNetworkObjUnlock(privconn->networks->objs[i]);
}
parallelsDriverUnlock(privconn);
size_t i;
parallelsDriverLock(privconn);
- for (i = 0; i < privconn->networks.count && got < nnames; i++) {
- virNetworkObjLock(privconn->networks.objs[i]);
- if (!virNetworkObjIsActive(privconn->networks.objs[i])) {
- if (VIR_STRDUP(names[got], privconn->networks.objs[i]->def->name) < 0) {
- virNetworkObjUnlock(privconn->networks.objs[i]);
+ for (i = 0; i < privconn->networks->count && got < nnames; i++) {
+ virNetworkObjLock(privconn->networks->objs[i]);
+ if (!virNetworkObjIsActive(privconn->networks->objs[i])) {
+ if (VIR_STRDUP(names[got], privconn->networks->objs[i]->def->name) < 0) {
+ virNetworkObjUnlock(privconn->networks->objs[i]);
goto cleanup;
}
got++;
}
- virNetworkObjUnlock(privconn->networks.objs[i]);
+ virNetworkObjUnlock(privconn->networks->objs[i]);
}
parallelsDriverUnlock(privconn);
return got;
virCheckFlags(VIR_CONNECT_LIST_NETWORKS_FILTERS_ALL, -1);
parallelsDriverLock(privconn);
- ret = virNetworkObjListExport(conn, &privconn->networks, nets, NULL, flags);
+ ret = virNetworkObjListExport(conn, privconn->networks, nets, NULL, flags);
parallelsDriverUnlock(privconn);
return ret;
virNetworkPtr ret = NULL;
parallelsDriverLock(privconn);
- network = virNetworkFindByUUID(&privconn->networks, uuid);
+ network = virNetworkFindByUUID(privconn->networks, uuid);
parallelsDriverUnlock(privconn);
if (!network) {
virReportError(VIR_ERR_NO_NETWORK,
virNetworkPtr ret = NULL;
parallelsDriverLock(privconn);
- network = virNetworkFindByName(&privconn->networks, name);
+ network = virNetworkFindByName(privconn->networks, name);
parallelsDriverUnlock(privconn);
if (!network) {
virReportError(VIR_ERR_NO_NETWORK,
virCheckFlags(VIR_NETWORK_XML_INACTIVE, NULL);
parallelsDriverLock(privconn);
- network = virNetworkFindByUUID(&privconn->networks, net->uuid);
+ network = virNetworkFindByUUID(privconn->networks, net->uuid);
parallelsDriverUnlock(privconn);
if (!network) {
int ret = -1;
parallelsDriverLock(privconn);
- obj = virNetworkFindByUUID(&privconn->networks, net->uuid);
+ obj = virNetworkFindByUUID(privconn->networks, net->uuid);
parallelsDriverUnlock(privconn);
if (!obj) {
virReportError(VIR_ERR_NO_NETWORK, NULL);
int ret = -1;
parallelsDriverLock(privconn);
- obj = virNetworkFindByUUID(&privconn->networks, net->uuid);
+ obj = virNetworkFindByUUID(privconn->networks, net->uuid);
parallelsDriverUnlock(privconn);
if (!obj) {
virReportError(VIR_ERR_NO_NETWORK, NULL);
int ret = -1;
parallelsDriverLock(privconn);
- network = virNetworkFindByUUID(&privconn->networks, net->uuid);
+ network = virNetworkFindByUUID(privconn->networks, net->uuid);
parallelsDriverUnlock(privconn);
if (!network) {
virReportError(VIR_ERR_NO_NETWORK,