
On 07/14/2014 06:58 PM, Eric Blake wrote:
On 07/14/2014 10:40 AM, Daniel P. Berrange wrote:
} - def->os.bios.useserial = VIR_DOMAIN_BIOS_USESERIAL_YES; + def->os.bios.useserial = VIR_DOMAIN_YES_NO_ENABLED; } else { - def->os.bios.useserial = VIR_DOMAIN_BIOS_USESERIAL_NO; + def->os.bios.useserial = VIR_DOMAIN_YES_NO_DISABLED; }
if (def->data.spice.filetransfer) virBufferAsprintf(buf, "<filetransfer enable='%s'/>\n", - virDomainGraphicsSpiceAgentFileTransferTypeToString(def->data.spice.filetransfer)); + virDomainYesNoTypeToString(def->data.spice.filetransfer)); }
I'm not really a fan of this cleanup, as IMHO the result is less clear & harder to follow than the original code.
How so? The original code was very repetitive, with multiple enums (all with long names) copying the same few enum elements. We're not painting ourselves into a corner - if any of the replaced enums ever grows a third value (such as "on", "hybrid", "off"), then we just break that one enum back into a named list rather than using the generic on/off enum. I'm actually in favor of this cleanup.
Specifically a enum constant name like YES_NO_DISABLED is just awful IMHO compared to the original desriptive name.
Agreed, my constant names are awful. But it's the original type names I don't like: I'd expect virDomainGraphicsSpiceAgentFileTransfer to be an enum of different modes of transfer, not just default/no/yes.
Is it just a matter of coming up with a better name? Maybe:
VIR_TRISTATE_ABSENT = 0, VIR_TRISTATE_NO, VIR_TRISTATE_YES,
Without the DOMAIN prefix, this could be used for network_conf.c too. How about: VIR_TRISTATE_SWITCH_ABSENT = 0, VIR_TRISTATE_SWITCH_OFF VIR_TRISTATE_SWITCH_ON for the other enum? (And maybe VIR_TRISTATE_BOOL for the first one?)
def->os.bios.useserial = VIR_TRISTATE_NO;
if (def->data.spice.filetransfer) { virBufferAsprintf(buf, "<filetransfer enable='%s'/>\n", virTristateToString(def->data.spice.filetransfer));
Jan