-// ========== SURF CPU ============
-surf_cpu_t sg_host_surfcpu(sg_host_t host) {
- return (surf_cpu_t) host->facet(SURF_CPU_LEVEL);
-}
-void sg_host_surfcpu_set(sg_host_t host, surf_cpu_t cpu) {
- host->set_facet(SURF_CPU_LEVEL, cpu);
-}
-void sg_host_surfcpu_register(sg_host_t host, surf_cpu_t cpu)
-{
- surf_callback_emit(simgrid::surf::cpuCreatedCallbacks, cpu);
- surf_callback_emit(simgrid::surf::cpuStateChangedCallbacks, cpu, SURF_RESOURCE_ON, cpu->getState());
- sg_host_surfcpu_set(host, cpu);
-}
-void sg_host_surfcpu_destroy(sg_host_t host) {
- host->set_facet(SURF_CPU_LEVEL, nullptr);
-}
-// ========== RoutingEdge ============
-surf_RoutingEdge *sg_host_edge(sg_host_t host) {
- return (surf_RoutingEdge*) host->facet(ROUTING_HOST_LEVEL);
-}
-void sg_host_edge_set(sg_host_t host, surf_RoutingEdge *edge) {
- host->set_facet(ROUTING_HOST_LEVEL, edge);
-}
-void sg_host_edge_destroy(sg_host_t host, int do_callback) {
- host->set_facet(ROUTING_HOST_LEVEL, nullptr, do_callback);
+xbt_dynar_t sg_host_get_attached_storage_list(sg_host_t host){
+ std::vector<const char*>* storage_vector = new std::vector<const char*>();
+ xbt_dynar_t storage_dynar = xbt_dynar_new(sizeof(const char*), nullptr);
+ host->attachedStorages(storage_vector);
+ for (auto name : *storage_vector)
+ xbt_dynar_push(storage_dynar, &name);
+ delete storage_vector;
+ return storage_dynar;