X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/95a02a8febe84fd1c2ed98c78c594a5e8a0116f7..0fa053f89a0b5f34a050f4790925d9d63ac11073:/src/surf/xml/surfxml_sax_cb.cpp diff --git a/src/surf/xml/surfxml_sax_cb.cpp b/src/surf/xml/surfxml_sax_cb.cpp index 21662cf976..db18b6343f 100644 --- a/src/surf/xml/surfxml_sax_cb.cpp +++ b/src/surf/xml/surfxml_sax_cb.cpp @@ -5,15 +5,16 @@ #include "simgrid/kernel/routing/NetPoint.hpp" #include "simgrid/s4u/Engine.hpp" -#include "simgrid/sg_config.h" +#include "simgrid/sg_config.hpp" #include "src/surf/network_interface.hpp" +#include "src/surf/surf_interface.hpp" +#include "src/surf/xml/platf_private.hpp" +#include "surf/surf.hpp" #include "xbt/file.hpp" -#include "src/surf/xml/platf_private.hpp" #include #include #include -#include #include #include #include @@ -21,12 +22,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_parse, surf, "Logging specific to the SURF parsing module"); -extern "C" { - #include "simgrid_dtd.c" static const char* surf_parsed_filename; // Currently parsed file (for the error messages) -std::vector parsed_link_list; /* temporary store of current list link of a route */ +std::vector + parsed_link_list; /* temporary store of current list link of a route */ /* * Helping functions @@ -61,17 +61,17 @@ void surf_parse_assert_netpoint(std::string hostname, std::string pre, std::stri std::vector list; simgrid::s4u::Engine::getInstance()->getNetpointList(&list); std::sort(list.begin(), list.end(), [](simgrid::kernel::routing::NetPoint* a, simgrid::kernel::routing::NetPoint* b) { - return a->getName() < b->getName(); + return a->get_name() < b->get_name(); }); bool first = true; for (auto const& np : list) { - if (np->isNetZone()) + if (np->is_netzone()) continue; if (not first) msg += ","; first = false; - msg += "'" + np->getName() + "'"; + msg += "'" + np->get_name() + "'"; if (msg.length() > 4096) { msg.pop_back(); // remove trailing quote msg += "...(list truncated)......"; @@ -100,7 +100,6 @@ int surf_parse_get_int(std::string s) return -1; } } -} namespace { @@ -199,8 +198,6 @@ double surf_parse_get_value_with_unit(const char* string, const unit_scale& unit } } -extern "C" { - double surf_parse_get_time(const char* string, const char* entity_kind, std::string name) { static const unit_scale units{std::make_pair("w", 7 * 24 * 60 * 60), @@ -284,7 +281,7 @@ void STag_surfxml_storage() void ETag_surfxml_storage() { - StorageCreationArgs storage; + simgrid::kernel::routing::StorageCreationArgs storage; storage.properties = current_property_set; current_property_set = nullptr; @@ -305,7 +302,7 @@ void STag_surfxml_storage___type() } void ETag_surfxml_storage___type() { - StorageTypeCreationArgs storage_type; + simgrid::kernel::routing::StorageTypeCreationArgs storage_type; storage_type.properties = current_property_set; current_property_set = nullptr; @@ -328,7 +325,7 @@ void STag_surfxml_mount() void ETag_surfxml_mount() { - MountCreationArgs mount; + simgrid::kernel::routing::MountCreationArgs mount; mount.name = A_surfxml_mount_name; mount.storageId = A_surfxml_mount_storageId; @@ -383,7 +380,7 @@ void STag_surfxml_platform() { if (version < 4.1) { XBT_INFO("You're using a v%.1f XML file (%s) while the current standard is v4.1 " "That's fine, the new version is backward compatible. \n\n" - "Use simgrid_update_xml to update your file automatically to get ride of this warning. " + "Use simgrid_update_xml to update your file automatically to get rid of this warning. " "This program is installed automatically with SimGrid, or " "available in the tools/ directory of the source archive.", version, surf_parsed_filename); @@ -421,7 +418,7 @@ void STag_surfxml_prop() } void ETag_surfxml_host() { - s_sg_platf_host_cbarg_t host; + simgrid::kernel::routing::HostCreationArgs host; host.properties = current_property_set; current_property_set = nullptr; @@ -442,7 +439,7 @@ void ETag_surfxml_host() { void STag_surfxml_host___link(){ XBT_DEBUG("Create a Host_link for %s",A_surfxml_host___link_id); - HostLinkCreationArgs host_link; + simgrid::kernel::routing::HostLinkCreationArgs host_link; host_link.id = A_surfxml_host___link_id; host_link.link_up = A_surfxml_host___link_up; @@ -455,7 +452,7 @@ void STag_surfxml_router(){ } void ETag_surfxml_cluster(){ - ClusterCreationArgs cluster; + simgrid::kernel::routing::ClusterCreationArgs cluster; cluster.properties = current_property_set; current_property_set = nullptr; @@ -480,16 +477,16 @@ void ETag_surfxml_cluster(){ switch(AX_surfxml_cluster_topology){ case A_surfxml_cluster_topology_FLAT: - cluster.topology = ClusterTopology::FLAT; + cluster.topology = simgrid::kernel::routing::ClusterTopology::FLAT; break; case A_surfxml_cluster_topology_TORUS: - cluster.topology = ClusterTopology::TORUS; + cluster.topology = simgrid::kernel::routing::ClusterTopology::TORUS; break; case A_surfxml_cluster_topology_FAT___TREE: - cluster.topology = ClusterTopology::FAT_TREE; + cluster.topology = simgrid::kernel::routing::ClusterTopology::FAT_TREE; break; case A_surfxml_cluster_topology_DRAGONFLY: - cluster.topology = ClusterTopology::DRAGONFLY; + cluster.topology = simgrid::kernel::routing::ClusterTopology::DRAGONFLY; break; default: surf_parse_error(std::string("Invalid cluster topology for cluster ") + cluster.id); @@ -539,7 +536,7 @@ void STag_surfxml_cluster(){ void STag_surfxml_cabinet(){ parse_after_config(); - CabinetCreationArgs cabinet; + simgrid::kernel::routing::CabinetCreationArgs cabinet; cabinet.id = A_surfxml_cabinet_id; cabinet.prefix = A_surfxml_cabinet_prefix; cabinet.suffix = A_surfxml_cabinet_suffix; @@ -553,7 +550,7 @@ void STag_surfxml_cabinet(){ void STag_surfxml_peer(){ parse_after_config(); - PeerCreationArgs peer; + simgrid::kernel::routing::PeerCreationArgs peer; peer.id = std::string(A_surfxml_peer_id); peer.speed = surf_parse_get_speed(A_surfxml_peer_speed, "speed of peer", peer.id.c_str()); @@ -576,7 +573,7 @@ void STag_surfxml_link(){ } void ETag_surfxml_link(){ - LinkCreationArgs link; + simgrid::kernel::routing::LinkCreationArgs link; link.properties = current_property_set; current_property_set = nullptr; @@ -612,17 +609,17 @@ void ETag_surfxml_link(){ void STag_surfxml_link___ctn() { - simgrid::surf::LinkImpl* link = nullptr; + simgrid::kernel::resource::LinkImpl* link = nullptr; switch (A_surfxml_link___ctn_direction) { case AU_surfxml_link___ctn_direction: case A_surfxml_link___ctn_direction_NONE: - link = simgrid::surf::LinkImpl::byName(A_surfxml_link___ctn_id); + link = simgrid::kernel::resource::LinkImpl::byName(A_surfxml_link___ctn_id); break; case A_surfxml_link___ctn_direction_UP: - link = simgrid::surf::LinkImpl::byName(std::string(A_surfxml_link___ctn_id) + "_UP"); + link = simgrid::kernel::resource::LinkImpl::byName(std::string(A_surfxml_link___ctn_id) + "_UP"); break; case A_surfxml_link___ctn_direction_DOWN: - link = simgrid::surf::LinkImpl::byName(std::string(A_surfxml_link___ctn_id) + "_DOWN"); + link = simgrid::kernel::resource::LinkImpl::byName(std::string(A_surfxml_link___ctn_id) + "_DOWN"); break; default: surf_parse_error(std::string("Invalid direction for link ") + A_surfxml_link___ctn_id); @@ -645,7 +642,7 @@ void STag_surfxml_link___ctn() } void ETag_surfxml_backbone(){ - LinkCreationArgs link; + simgrid::kernel::routing::LinkCreationArgs link; link.properties = nullptr; link.id = std::string(A_surfxml_backbone_id); @@ -654,7 +651,7 @@ void ETag_surfxml_backbone(){ link.policy = SURF_LINK_SHARED; sg_platf_new_link(&link); - routing_cluster_add_backbone(simgrid::surf::LinkImpl::byName(A_surfxml_backbone_id)); + routing_cluster_add_backbone(simgrid::kernel::resource::LinkImpl::byName(A_surfxml_backbone_id)); } void STag_surfxml_route(){ @@ -695,7 +692,7 @@ void STag_surfxml_bypassZoneRoute(){ } void ETag_surfxml_route(){ - RouteCreationArgs route; + simgrid::kernel::routing::RouteCreationArgs route; route.src = sg_netpoint_by_name_or_null(A_surfxml_route_src); // tested to not be nullptr in start tag route.dst = sg_netpoint_by_name_or_null(A_surfxml_route_dst); // tested to not be nullptr in start tag @@ -719,7 +716,7 @@ void ETag_surfxml_ASroute() } void ETag_surfxml_zoneRoute() { - RouteCreationArgs ASroute; + simgrid::kernel::routing::RouteCreationArgs ASroute; ASroute.src = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_src); // tested to not be nullptr in start tag ASroute.dst = sg_netpoint_by_name_or_null(A_surfxml_zoneRoute_dst); // tested to not be nullptr in start tag @@ -745,7 +742,7 @@ void ETag_surfxml_zoneRoute() } void ETag_surfxml_bypassRoute(){ - RouteCreationArgs route; + simgrid::kernel::routing::RouteCreationArgs route; route.src = sg_netpoint_by_name_or_null(A_surfxml_bypassRoute_src); // tested to not be nullptr in start tag route.dst = sg_netpoint_by_name_or_null(A_surfxml_bypassRoute_dst); // tested to not be nullptr in start tag @@ -768,7 +765,7 @@ void ETag_surfxml_bypassASroute() } void ETag_surfxml_bypassZoneRoute() { - RouteCreationArgs ASroute; + simgrid::kernel::routing::RouteCreationArgs ASroute; ASroute.src = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_src); ASroute.dst = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_dst); @@ -783,7 +780,7 @@ void ETag_surfxml_bypassZoneRoute() } void ETag_surfxml_trace(){ - TraceCreationArgs trace; + simgrid::kernel::routing::TraceCreationArgs trace; trace.id = A_surfxml_trace_id; trace.file = A_surfxml_trace_file; @@ -796,7 +793,7 @@ void ETag_surfxml_trace(){ void STag_surfxml_trace___connect() { parse_after_config(); - TraceConnectCreationArgs trace_connect; + simgrid::kernel::routing::TraceConnectCreationArgs trace_connect; trace_connect.element = A_surfxml_trace___connect_element; trace_connect.trace = A_surfxml_trace___connect_trace; @@ -804,19 +801,19 @@ void STag_surfxml_trace___connect() switch (A_surfxml_trace___connect_kind) { case AU_surfxml_trace___connect_kind: case A_surfxml_trace___connect_kind_SPEED: - trace_connect.kind = TraceConnectKind::SPEED; + trace_connect.kind = simgrid::kernel::routing::TraceConnectKind::SPEED; break; case A_surfxml_trace___connect_kind_BANDWIDTH: - trace_connect.kind = TraceConnectKind::BANDWIDTH; + trace_connect.kind = simgrid::kernel::routing::TraceConnectKind::BANDWIDTH; break; case A_surfxml_trace___connect_kind_HOST___AVAIL: - trace_connect.kind = TraceConnectKind::HOST_AVAIL; + trace_connect.kind = simgrid::kernel::routing::TraceConnectKind::HOST_AVAIL; break; case A_surfxml_trace___connect_kind_LATENCY: - trace_connect.kind = TraceConnectKind::LATENCY; + trace_connect.kind = simgrid::kernel::routing::TraceConnectKind::LATENCY; break; case A_surfxml_trace___connect_kind_LINK___AVAIL: - trace_connect.kind = TraceConnectKind::LINK_AVAIL; + trace_connect.kind = simgrid::kernel::routing::TraceConnectKind::LINK_AVAIL; break; default: surf_parse_error("Invalid trace kind"); @@ -841,7 +838,7 @@ void STag_surfxml_zone() { parse_after_config(); ZONE_TAG = 1; - ZoneCreationArgs zone; + simgrid::kernel::routing::ZoneCreationArgs zone; zone.id = A_surfxml_zone_id; zone.routing = static_cast(A_surfxml_zone_routing); @@ -907,7 +904,7 @@ void ETag_surfxml_process() void ETag_surfxml_actor() { - ActorCreationArgs actor; + simgrid::kernel::routing::ActorCreationArgs actor; actor.properties = current_property_set; current_property_set = nullptr; @@ -921,10 +918,10 @@ void ETag_surfxml_actor() switch (A_surfxml_actor_on___failure) { case AU_surfxml_actor_on___failure: case A_surfxml_actor_on___failure_DIE: - actor.on_failure = ActorOnFailure::DIE; + actor.on_failure = simgrid::kernel::routing::ActorOnFailure::DIE; break; case A_surfxml_actor_on___failure_RESTART: - actor.on_failure = ActorOnFailure::RESTART; + actor.on_failure = simgrid::kernel::routing::ActorOnFailure::RESTART; break; default: surf_parse_error("Invalid on failure behavior"); @@ -994,4 +991,3 @@ int surf_parse() { return surf_parse_lex(); } -}