static int secretUndefine(virSecretPtr obj) { int ret = -1; virSecretObjPtr secret; virSecretDefPtr def; if (!(secret = secretObjFromSecret(obj))) goto cleanup; def = virSecretObjGetDef(secret); if (virSecretUndefineEnsureACL(obj->conn, def) < 0) goto cleanup; if (virSecretObjDeleteConfig(secret) < 0) goto cleanup; virSecretObjDeleteData(secret); virSecretObjListRemove(driver->secrets, secret); ret = 0; cleanup: virSecretObjEndAPI(&secret); return ret; }
static int secretUndefine(virSecretPtr secret) { int ret = -1; virSecretObjPtr obj; virSecretDefPtr def; virObjectEventPtr event = NULL; if (!(obj = secretObjFromSecret(secret))) goto cleanup; def = virSecretObjGetDef(obj); if (virSecretUndefineEnsureACL(secret->conn, def) < 0) goto cleanup; if (virSecretObjDeleteConfig(obj) < 0) goto cleanup; event = virSecretEventLifecycleNew(def->uuid, def->usage_type, def->usage_id, VIR_SECRET_EVENT_UNDEFINED, 0); virSecretObjDeleteData(obj); virSecretObjListRemove(driver->secrets, obj); virObjectUnref(obj); obj = NULL; ret = 0; cleanup: virSecretObjEndAPI(&obj); if (event) virObjectEventStateQueue(driver->secretEventState, event); return ret; }