4 * Created on: Nov 30, 2010
13 #include "xbt/dynar.h"
14 #include "xbt/asserts.h"
16 #include "instr/jedule/jedule_events.h"
17 #include "instr/jedule/jedule_platform.h"
21 void jed_event_add_resources(jed_event_t event, xbt_dynar_t host_selection) {
22 xbt_dynar_t resource_subset_list;
23 jed_res_subset_t res_set;
26 resource_subset_list = xbt_dynar_new(sizeof(jed_res_subset_t), NULL);
28 jed_simgrid_get_resource_selection_by_hosts(resource_subset_list, host_selection);
29 xbt_dynar_foreach(resource_subset_list, i, res_set) {
30 xbt_dynar_push(event->resource_subsets, &res_set);
33 xbt_dynar_free(&resource_subset_list);
36 void jed_event_add_characteristic(jed_event_t event, char *characteristic) {
37 xbt_assert( characteristic != NULL );
38 xbt_dynar_push(event->characteristics_list, &characteristic);
42 void jed_event_add_info(jed_event_t event, char *key, char *value) {
45 xbt_assert(key != NULL);
46 xbt_assert(value != NULL);
48 val_cp = strdup(value);
49 xbt_dict_set(event->info_hash, key, val_cp, NULL);
53 void create_jed_event(jed_event_t *event, char *name, double start_time,
54 double end_time, const char *type) {
56 *event = (jed_event_t) calloc(1, sizeof(s_jed_event_t));
57 (*event)->name = xbt_strdup(name);
59 (*event)->start_time = start_time;
60 (*event)->end_time = end_time;
62 (*event)->type = xbt_strdup(type);
64 (*event)->resource_subsets = xbt_dynar_new(sizeof(jed_res_subset_t), NULL);
65 (*event)->characteristics_list = xbt_dynar_new(sizeof(char*), NULL);
66 (*event)->info_hash = xbt_dict_new_homogeneous(NULL);
71 void jed_event_free(jed_event_t event) {
76 xbt_dynar_free(&event->resource_subsets);
78 xbt_dynar_free(&event->characteristics_list);
79 xbt_dict_free(&event->info_hash);