Verified Commit 68041f58 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

ADM_qos_entity_create() now accepts a void* rather than ...

parent 765dc772
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -460,13 +460,13 @@ ADM_pfs_context_destroy(ADM_pfs_context_t ctx);
 *
 * @param[in] scope The scope of the entity, i.e. ADM_QOS_SCOPE_DATASET,
 * ADM_QOS_SCOPE_NODE, or ADM_QOS_SCOPE_JOB.
 * @param[in] ... A single argument with data from either a ADM_dataset_t,
 * @param[in] data A single argument with data from either a ADM_dataset_t,
 * ADM_node_t, or ADM_job_t variable. The argument must correspond properly
 * to the scope provided.
 * @return A valid ADM_qos_entity_t if successful or NULL in case of failure.
 */
ADM_qos_entity_t
ADM_qos_entity_create(ADM_qos_scope_t scope, ...);
ADM_qos_entity_create(ADM_qos_scope_t scope, void* data);

/**
 * Destroy a QoS entity created by ADM_qos_entity_create().
+5 −9
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ ADM_dataset_destroy(ADM_dataset_t dataset) {
}

ADM_qos_entity_t
ADM_qos_entity_create(ADM_qos_scope_t scope, ...) {
ADM_qos_entity_create(ADM_qos_scope_t scope, void* data) {

    struct adm_qos_entity* adm_qos_entity =
            (struct adm_qos_entity*) malloc(sizeof(struct adm_qos_entity));
@@ -171,23 +171,19 @@ ADM_qos_entity_create(ADM_qos_scope_t scope, ...) {

    adm_qos_entity->e_scope = scope;

    va_list ap;
    va_start(ap, scope);

    switch(scope) {
        case ADM_QOS_SCOPE_NODE:
            adm_qos_entity->e_node = va_arg(ap, ADM_node_t);
            adm_qos_entity->e_node = (ADM_node_t) data;
            break;
        case ADM_QOS_SCOPE_JOB:
            adm_qos_entity->e_job = va_arg(ap, ADM_job_t);
            adm_qos_entity->e_job = (ADM_job_t) data;
            break;
        case ADM_QOS_SCOPE_DATASET:
            adm_qos_entity->e_dataset = va_arg(ap, ADM_dataset_t);
            adm_qos_entity->e_dataset = (ADM_dataset_t) data;
            break;
        case ADM_QOS_SCOPE_TRANSFER:
            adm_qos_entity->e_transfer = va_arg(ap, ADM_transfer_t);
            adm_qos_entity->e_transfer = (ADM_transfer_t) data;
    }
    va_end(ap);

    return adm_qos_entity;
}