unsigned int flags)
{
virDomainWatchdogDef *def;
- g_autofree char *model = NULL;
g_autofree char *action = NULL;
def = g_new0(virDomainWatchdogDef, 1);
- model = virXMLPropString(node, "model");
- if (model == NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("watchdog must contain model name"));
- goto error;
- }
- def->model = virDomainWatchdogModelTypeFromString(model);
- if (def->model < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown watchdog model '%1$s'"), model);
+ if (virXMLPropEnum(node, "model",
+ virDomainWatchdogModelTypeFromString,
+ VIR_XML_PROP_REQUIRED,
+ &def->model) < 0) {
goto error;
}
} virDomainWatchdogAction;
struct _virDomainWatchdogDef {
- int model;
+ virDomainWatchdogModel model;
int action;
virDomainDeviceInfo info;
};
case VIR_DOMAIN_DEVICE_WATCHDOG:
/* only one model connects using PCI */
- switch ((virDomainWatchdogModel) dev->data.watchdog->model) {
+ switch (dev->data.watchdog->model) {
case VIR_DOMAIN_WATCHDOG_MODEL_I6300ESB:
return pciFlags;
return -1;
}
- switch ((virDomainWatchdogModel) dev->model) {
+ switch (dev->model) {
case VIR_DOMAIN_WATCHDOG_MODEL_I6300ESB:
if (dev->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
dev->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {