static virDrvOpenStatus
parallelsOpenNetwork(virConnectPtr conn,
                     virConnectAuthPtr auth ATTRIBUTE_UNUSED,
                     unsigned int flags)
{
    virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);

    if (STRNEQ(conn->driver->name, "Parallels"))
        return VIR_DRV_OPEN_DECLINED;

    conn->networkPrivateData = conn->privateData;

    if (parallelsLoadNetworks(conn->privateData) < 0)
        return VIR_DRV_OPEN_DECLINED;

    return VIR_DRV_OPEN_SUCCESS;
}
virDrvOpenStatus
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 (!(privconn->networks = virNetworkObjListNew()))
        goto error;

    if (parallelsLoadNetworks(conn->privateData) < 0)
        goto error;

    return VIR_DRV_OPEN_SUCCESS;
 error:
    virObjectUnref(privconn->networks);
    privconn->networks = NULL;
    return VIR_DRV_OPEN_ERROR;
}