X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cfc534f877804bee49c17b392d6c1c54a82257ae..f3af8b430269d158689ad7cdef5b5e54df8360a1:/src/simdag/sd_workstation.c diff --git a/src/simdag/sd_workstation.c b/src/simdag/sd_workstation.c index 65c8032b39..38ffb85d70 100644 --- a/src/simdag/sd_workstation.c +++ b/src/simdag/sd_workstation.c @@ -1,16 +1,7 @@ #include "simdag/simdag.h" #include "xbt/dict.h" #include "xbt/sysdep.h" -/*#include "private.h"*/ - -static xbt_dict_t workstations; /* workstation list */ -static int workstation_count; /* number of workstations */ - - void *data; - char *name; - double power; - double available_power; - /* TODO: route */ +#include "private.h" /* Creates a workstation. */ @@ -22,8 +13,8 @@ SG_workstation_t SG_workstation_create(void *data, const char *name, double powe workstation->data = data; workstation->name = xbt_strdup(name); - workstation->power = power; - workstation->available_power = power; + /*workstation->power = power; + workstation->available_power = power;*/ /* TODO: route */ return workstation; @@ -32,22 +23,24 @@ SG_workstation_t SG_workstation_create(void *data, const char *name, double powe /* Returns a workstation given its name, or NULL if there is no such workstation. */ SG_workstation_t SG_workstation_get_by_name(const char *name) { - xbt_assert0(name, "Invalid parameter"); + xbt_assert0(sg_global != NULL, "SG_init not called yet"); + xbt_assert0(name != NULL, "Invalid parameter"); - return xbt_dict_get_or_null(workstations, name); + return xbt_dict_get_or_null(sg_global->workstations, name); } /* Returns a NULL-terminated array of existing workstations. */ SG_workstation_t* SG_workstation_get_list(void) { - SG_workstation_t* array = xbt_new0(SG_workstation_t, workstation_count + 1); + xbt_assert0(sg_global != NULL, "SG_init not called yet"); + SG_workstation_t* array = xbt_new0(SG_workstation_t, sg_global->workstation_count + 1); xbt_dict_cursor_t cursor; char *key; void *data; int i=0; - xbt_dict_foreach(workstations,cursor,key,data) { + xbt_dict_foreach(sg_global->workstations,cursor,key,data) { array[i++] = (SG_workstation_t) data; } array[i] = NULL; @@ -58,27 +51,28 @@ SG_workstation_t* SG_workstation_get_list(void) { /* Returns the number or workstations. */ int SG_workstation_get_number(void) { - return workstation_count; + xbt_assert0(sg_global != NULL, "SG_init not called yet"); + return sg_global->workstation_count; } /* Sets the data of a workstation. */ void SG_workstation_set_data(SG_workstation_t workstation, void *data) { - xbt_assert0(workstation, "Invalid parameter"); + xbt_assert0(workstation != NULL, "Invalid parameter"); workstation->data = data; } /* Returns the data of a workstation. */ void* SG_workstation_get_data(SG_workstation_t workstation) { - xbt_assert0(workstation, "Invalid parameter"); + xbt_assert0(workstation != NULL, "Invalid parameter"); return workstation->data; } /* Returns the name of a workstation. */ const char* SG_workstation_get_name(SG_workstation_t workstation) { - xbt_assert0(workstation, "Invalid parameter"); + xbt_assert0(workstation != NULL, "Invalid parameter"); return workstation->name; } @@ -95,21 +89,25 @@ int SG_workstation_route_get_size(SG_workstation_t src, SG_workstation_t dst) { /* Returns the total power of a workstation. */ double SG_workstation_get_power(SG_workstation_t workstation) { - xbt_assert0(workstation, "Invalid parameter"); - return workstation->power; + xbt_assert0(workstation != NULL, "Invalid parameter"); + /* TODO */ + return 0; + /* return workstation->power;*/ } /* Return the available power of a workstation. */ double SG_workstation_get_available_power(SG_workstation_t workstation) { - xbt_assert0(workstation, "Invalid parameter"); - return workstation->available_power; + xbt_assert0(workstation != NULL, "Invalid parameter"); + /* TODO */ + return 0; + /*return workstation->available_power;*/ } /* Destroys a workstation. The user data (if any) should have been destroyed first. */ void SG_workstation_destroy(SG_workstation_t workstation) { - xbt_assert0(workstation, "Invalid parameter"); + xbt_assert0(workstation != NULL, "Invalid parameter"); if (workstation->name) free(workstation->name);