}
+bool
+virNetworkObjIsAutostart(virNetworkObjPtr obj)
+{
+ return obj->autostart;
+}
+
+
+void
+virNetworkObjSetAutostart(virNetworkObjPtr obj,
+ bool autostart)
+{
+ obj->autostart = autostart;
+}
+
+
pid_t
virNetworkObjGetDnsmasqPid(virNetworkObjPtr obj)
{
if (!(net = virNetworkObjAssignDef(nets, def, 0)))
goto error;
- net->autostart = autostart;
+ net->autostart = (autostart == 1);
VIR_FREE(configFile);
VIR_FREE(autostartLink);
/* Not fatal if this doesn't work */
unlink(autostartLink);
- net->autostart = 0;
+ net->autostart = false;
if (unlink(configFile) < 0) {
virReportSystemError(errno,
pid_t dnsmasqPid;
pid_t radvdPid;
unsigned int active : 1;
- unsigned int autostart : 1;
+ bool autostart;
unsigned int persistent : 1;
virNetworkDefPtr def; /* The current definition */
virNetworkDefPtr
virNetworkObjGetNewDef(virNetworkObjPtr obj);
+bool
+virNetworkObjIsAutostart(virNetworkObjPtr obj);
+
+void
+virNetworkObjSetAutostart(virNetworkObjPtr obj,
+ bool autostart);
+
virMacMapPtr
virNetworkObjGetMacMap(virNetworkObjPtr obj);
virNetworkObjGetNewDef;
virNetworkObjGetPersistentDef;
virNetworkObjGetRadvdPid;
+virNetworkObjIsAutostart;
virNetworkObjListExport;
virNetworkObjListForEach;
virNetworkObjListGetNames;
virNetworkObjRemoveInactive;
virNetworkObjReplacePersistentDef;
virNetworkObjSaveStatus;
+virNetworkObjSetAutostart;
virNetworkObjSetDef;
virNetworkObjSetDefTransient;
virNetworkObjSetDnsmasqPid;
int ret = -1;
virObjectLock(obj);
- if (obj->autostart &&
+ if (virNetworkObjIsAutostart(obj) &&
!virNetworkObjIsActive(obj) &&
networkStartNetwork(driver, obj) < 0)
goto cleanup;
if (virNetworkGetAutostartEnsureACL(net->conn, virNetworkObjGetDef(obj)) < 0)
goto cleanup;
- *autostart = obj->autostart;
+ *autostart = virNetworkObjIsAutostart(obj) ? 1 : 0;
ret = 0;
cleanup:
virNetworkObjPtr obj;
virNetworkDefPtr def;
char *configFile = NULL, *autostartLink = NULL;
+ bool new_autostart;
+ bool cur_autostart;
int ret = -1;
if (!(obj = networkObjFromNetwork(net)))
goto cleanup;
}
- autostart = (autostart != 0);
-
- if (obj->autostart != autostart) {
+ new_autostart = (autostart != 0);
+ cur_autostart = virNetworkObjIsAutostart(obj);
+ if (cur_autostart != new_autostart) {
if ((configFile = virNetworkConfigFile(driver->networkConfigDir,
def->name)) == NULL)
goto cleanup;
def->name)) == NULL)
goto cleanup;
- if (autostart) {
+ if (new_autostart) {
if (virFileMakePath(driver->networkAutostartDir) < 0) {
virReportSystemError(errno,
_("cannot create autostart directory '%s'"),
}
}
- obj->autostart = autostart;
+ virNetworkObjSetAutostart(obj, new_autostart);
}
+
ret = 0;
cleanup:
if (!(obj = testNetworkObjFindByName(privconn, net->name)))
goto cleanup;
- *autostart = obj->autostart;
+ *autostart = virNetworkObjIsAutostart(obj) ? 1 : 0;
ret = 0;
cleanup:
{
testDriverPtr privconn = net->conn->privateData;
virNetworkObjPtr obj;
+ bool new_autostart = (autostart != 0);
int ret = -1;
if (!(obj = testNetworkObjFindByName(privconn, net->name)))
goto cleanup;
- obj->autostart = autostart ? 1 : 0;
+ virNetworkObjSetAutostart(obj, new_autostart);
+
ret = 0;
cleanup: