- /* Copyright (c) 2006-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2006-2017. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* The default current property receiver. Setup in the corresponding opening callbacks. */
xbt_dict_t current_property_set = nullptr;
-xbt_dict_t current_model_property_set = nullptr;
+std::map<std::string, std::string>* current_model_property_set = nullptr;
int AS_TAG = 0; // Whether we just opened an AS tag (to see what to do with the properties)
/* dictionary of random generator data */
XBT_DEBUG("Set AS property %s -> %s", A_surfxml_prop_id, A_surfxml_prop_value);
simgrid::s4u::NetZone* netzone = simgrid::s4u::Engine::instance()->netzoneByNameOrNull(A_surfxml_AS_id);
- netzone->setProperty(A_surfxml_prop_id, xbt_strdup(A_surfxml_prop_value));
+ netzone->setProperty(A_surfxml_prop_id, A_surfxml_prop_value);
}
else{
if (!current_property_set)
void STag_surfxml_model___prop(){
if (!current_model_property_set)
- current_model_property_set = xbt_dict_new_homogeneous(xbt_free_f);
+ current_model_property_set = new std::map<std::string, std::string>();
- xbt_dict_set(current_model_property_set, A_surfxml_model___prop_id, xbt_strdup(A_surfxml_model___prop_value), nullptr);
+ current_model_property_set->insert(
+ {std::string(A_surfxml_model___prop_id), std::string(A_surfxml_model___prop_value)});
}
void ETag_surfxml_prop(){/* Nothing to do */}
xbt_assert(file, "Cannot parse the nullptr file. Bypassing the parser is strongly deprecated nowadays.");
surf_parsed_filename = xbt_strdup(file);
- char *dir = xbt_dirname(file);
- xbt_dynar_push(surf_path, &dir);
+ char* dir = xbt_dirname(file);
+ surf_path.push_back(std::string(dir));
+ xbt_free(dir);
surf_file_to_parse = surf_fopen(file, "r");
xbt_assert((surf_file_to_parse), "Unable to open \"%s\"\n", file);
void surf_parse_close()
{
if (surf_parsed_filename) {
- char *dir = nullptr;
- xbt_dynar_pop(surf_path, &dir);
- free(dir);
+ surf_path.pop_back();
}
free(surf_parsed_filename);