/**
- * virDomainObjGetOneDef:
+ * virDomainObjGetOneDefState:
*
* @vm: Domain object
* @flags: for virDomainModificationImpact
+ * @live: set to true if live config was returned (may be omitted)
*
* Helper function to resolve @flags and return the correct domain pointer
* object. This function returns one of @vm->def or @vm->persistentDef
- * according to @flags. This helper should be used only in APIs that guarantee
+ * according to @flags. @live is set to true if the live vm config will be
+ * returned. This helper should be used only in APIs that guarantee
* that @flags contains exactly one of VIR_DOMAIN_AFFECT_LIVE or
* VIR_DOMAIN_AFFECT_CONFIG and not both.
*
* Returns the correct definition pointer or NULL on error.
*/
virDomainDefPtr
-virDomainObjGetOneDef(virDomainObjPtr vm,
- unsigned int flags)
+virDomainObjGetOneDefState(virDomainObjPtr vm,
+ unsigned int flags,
+ bool *live)
{
if (flags & VIR_DOMAIN_AFFECT_LIVE && flags & VIR_DOMAIN_AFFECT_CONFIG) {
virReportInvalidArg(ctl, "%s",
if (virDomainObjUpdateModificationImpact(vm, &flags) < 0)
return NULL;
+ if (live) {
+ if (flags & VIR_DOMAIN_AFFECT_LIVE)
+ *live = true;
+ else
+ *live = false;
+ }
+
if (virDomainObjIsActive(vm) && flags & VIR_DOMAIN_AFFECT_CONFIG)
return vm->newDef;
else
}
+/**
+ * virDomainObjGetOneDef:
+ *
+ * @vm: Domain object
+ * @flags: for virDomainModificationImpact
+ *
+ * Helper function to resolve @flags and return the correct domain pointer
+ * object. This function returns one of @vm->def or @vm->persistentDef
+ * according to @flags. This helper should be used only in APIs that guarantee
+ * that @flags contains exactly one of VIR_DOMAIN_AFFECT_LIVE or
+ * VIR_DOMAIN_AFFECT_CONFIG and not both.
+ *
+ * Returns the correct definition pointer or NULL on error.
+ */
+virDomainDefPtr
+virDomainObjGetOneDef(virDomainObjPtr vm,
+ unsigned int flags)
+{
+ return virDomainObjGetOneDefState(vm, flags, NULL);
+}
+
+
static int
virDomainDeviceCCWAddressIsValid(virDomainDeviceCCWAddressPtr addr)
{
unsigned int flags,
virDomainDefPtr *liveDef,
virDomainDefPtr *persDef);
+virDomainDefPtr virDomainObjGetOneDefState(virDomainObjPtr vm,
+ unsigned int flags,
+ bool *state);
virDomainDefPtr virDomainObjGetOneDef(virDomainObjPtr vm, unsigned int flags);
virDomainDefPtr virDomainDefCopy(virDomainDefPtr src,