const char *oldsrcpath = NULL;
if (newDef) {
- switch ((virDomainRNGBackend) newDef->backend) {
+ switch (newDef->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
newsrcpath = newDef->source.file;
break;
}
if (oldDef) {
- switch ((virDomainRNGBackend) oldDef->backend) {
+ switch (oldDef->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
oldsrcpath = oldDef->source.file;
break;
VIR_XPATH_NODE_AUTORESTORE(ctxt)
int nbackends;
g_autofree xmlNodePtr *backends = NULL;
- g_autofree char *backend = NULL;
g_autofree char *type = NULL;
def = g_new0(virDomainRNGDef, 1);
goto error;
}
- if (!(backend = virXMLPropString(backends[0], "model"))) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("missing RNG device backend model"));
- goto error;
- }
-
- if ((def->backend = virDomainRNGBackendTypeFromString(backend)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown RNG backend model '%1$s'"), backend);
+ if (virXMLPropEnum(backends[0], "model",
+ virDomainRNGBackendTypeFromString,
+ VIR_XML_PROP_REQUIRED,
+ &def->backend) < 0) {
goto error;
}
- switch ((virDomainRNGBackend) def->backend) {
+ switch (def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
def->source.file = virXPathString("string(./backend)", ctxt);
break;
if (rng->rate != tmp->rate || rng->period != tmp->period)
continue;
- switch ((virDomainRNGBackend) rng->backend) {
+ switch (rng->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (STRNEQ_NULLABLE(rng->source.file, tmp->source.file))
continue;
}
virBufferAsprintf(buf, "<backend model='%s'", backend);
- switch ((virDomainRNGBackend) def->backend) {
+ switch (def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
virBufferEscapeString(buf, ">%s</backend>\n", def->source.file);
break;
if (!def)
return;
- switch ((virDomainRNGBackend) def->backend) {
+ switch (def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
g_free(def->source.file);
break;
{
g_autofree char *charAlias = qemuAliasChardevFromDevAlias(rng->info.alias);
- switch ((virDomainRNGBackend) rng->backend) {
+ switch (rng->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
case VIR_DOMAIN_RNG_BACKEND_BUILTIN:
case VIR_DOMAIN_RNG_BACKEND_LAST:
objAlias = g_strdup_printf("obj%s", rng->info.alias);
- switch ((virDomainRNGBackend) rng->backend) {
+ switch (rng->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (qemuMonitorCreateObjectProps(props, "rng-random", objAlias,
"s:filename", rng->source.file,
{
virDomainCapsDeviceRNG rngCaps = { 0 };
- switch ((virDomainRNGBackend) def->backend) {
+ switch (def->backend) {
case VIR_DOMAIN_RNG_BACKEND_RANDOM:
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_RANDOM)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",