Skip to content
Snippets Groups Projects
Verified Commit 68041f58 authored by Alberto Miranda's avatar Alberto Miranda :hotsprings:
Browse files

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

parent 765dc772
No related branches found
No related tags found
1 merge request!30Resolve "Refactor library RPC implementation of `admire::transfer_dataset`"
...@@ -460,13 +460,13 @@ ADM_pfs_context_destroy(ADM_pfs_context_t ctx); ...@@ -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, * @param[in] scope The scope of the entity, i.e. ADM_QOS_SCOPE_DATASET,
* ADM_QOS_SCOPE_NODE, or ADM_QOS_SCOPE_JOB. * 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 * ADM_node_t, or ADM_job_t variable. The argument must correspond properly
* to the scope provided. * to the scope provided.
* @return A valid ADM_qos_entity_t if successful or NULL in case of failure. * @return A valid ADM_qos_entity_t if successful or NULL in case of failure.
*/ */
ADM_qos_entity_t 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(). * Destroy a QoS entity created by ADM_qos_entity_create().
......
...@@ -159,7 +159,7 @@ ADM_dataset_destroy(ADM_dataset_t dataset) { ...@@ -159,7 +159,7 @@ ADM_dataset_destroy(ADM_dataset_t dataset) {
} }
ADM_qos_entity_t 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* adm_qos_entity =
(struct adm_qos_entity*) malloc(sizeof(struct 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, ...) { ...@@ -171,23 +171,19 @@ ADM_qos_entity_create(ADM_qos_scope_t scope, ...) {
adm_qos_entity->e_scope = scope; adm_qos_entity->e_scope = scope;
va_list ap;
va_start(ap, scope);
switch(scope) { switch(scope) {
case ADM_QOS_SCOPE_NODE: 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; break;
case ADM_QOS_SCOPE_JOB: 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; break;
case ADM_QOS_SCOPE_DATASET: 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; break;
case ADM_QOS_SCOPE_TRANSFER: 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; return adm_qos_entity;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment