#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.
*/
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;
/* 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;
/* 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;
}
/* 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);