Ejemplo n.º 1
0
static int
secretSetValue(virSecretPtr secret,
               const unsigned char *value,
               size_t value_size,
               unsigned int flags)
{
    int ret = -1;
    virSecretObjPtr obj;
    virSecretDefPtr def;
    virObjectEventPtr event = NULL;

    virCheckFlags(0, -1);

    if (!(obj = secretObjFromSecret(secret)))
        goto cleanup;

    def = virSecretObjGetDef(obj);
    if (virSecretSetValueEnsureACL(secret->conn, def) < 0)
        goto cleanup;

    if (virSecretObjSetValue(obj, value, value_size) < 0)
        goto cleanup;

    event = virSecretEventValueChangedNew(def->uuid,
                                          def->usage_type,
                                          def->usage_id);
    ret = 0;

 cleanup:
    virSecretObjEndAPI(&obj);
    if (event)
        virObjectEventStateQueue(driver->secretEventState, event);

    return ret;
}
Ejemplo n.º 2
0
static int
secretSetValue(virSecretPtr obj,
               const unsigned char *value,
               size_t value_size,
               unsigned int flags)
{
    int ret = -1;
    virSecretObjPtr secret;
    virSecretDefPtr def;

    virCheckFlags(0, -1);

    if (!(secret = secretObjFromSecret(obj)))
        goto cleanup;

    def = virSecretObjGetDef(secret);
    if (virSecretSetValueEnsureACL(obj->conn, def) < 0)
        goto cleanup;

    if (secretEnsureDirectory() < 0)
        goto cleanup;

    if (virSecretObjSetValue(secret, value, value_size) < 0)
        goto cleanup;

    ret = 0;

 cleanup:
    virSecretObjEndAPI(&secret);

    return ret;
}