From 4115ff79daceaaa08285a12d2a5969a64b8cbd71 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Thu, 11 Jan 2018 14:55:06 +0100 Subject: [PATCH] use enum class for trace connect kind --- include/simgrid/forward.h | 10 +------- src/surf/xml/platf_private.hpp | 4 ++- src/surf/xml/surfxml_parseplatf.cpp | 38 ++++++++++++++--------------- src/surf/xml/surfxml_sax_cb.cpp | 10 ++++---- 4 files changed, 28 insertions(+), 34 deletions(-) diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 3fd32c572f..6b9d37f6ee 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -55,8 +55,8 @@ namespace simix { class ActorImpl; using ActorImplPtr = boost::intrusive_ptr; class Host; - } + namespace surf { class Resource; class Cpu; @@ -139,14 +139,6 @@ typedef enum { // FIXME: move this to s4u::Link; make it an enum class SURF_LINK_FATPIPE = 0 } e_surf_link_sharing_policy_t; -typedef enum { // FIXME: move this away; make it an enum class - SURF_TRACE_CONNECT_KIND_HOST_AVAIL = 4, - SURF_TRACE_CONNECT_KIND_SPEED = 3, - SURF_TRACE_CONNECT_KIND_LINK_AVAIL = 2, - SURF_TRACE_CONNECT_KIND_BANDWIDTH = 1, - SURF_TRACE_CONNECT_KIND_LATENCY = 0 -} e_surf_trace_connect_kind_t; - typedef enum { // FIXME: move this to s4u::Actor; make it an enum class SURF_ACTOR_ON_FAILURE_DIE = 1, SURF_ACTOR_ON_FAILURE_RESTART = 0 diff --git a/src/surf/xml/platf_private.hpp b/src/surf/xml/platf_private.hpp index 13b3012cff..d6084a212b 100644 --- a/src/surf/xml/platf_private.hpp +++ b/src/surf/xml/platf_private.hpp @@ -166,9 +166,11 @@ public: std::string pc_data; }; +enum class TraceConnectKind { HOST_AVAIL, SPEED, LINK_AVAIL, BANDWIDTH, LATENCY }; + class TraceConnectCreationArgs { public: - e_surf_trace_connect_kind_t kind; + TraceConnectKind kind; std::string trace; std::string element; }; diff --git a/src/surf/xml/surfxml_parseplatf.cpp b/src/surf/xml/surfxml_parseplatf.cpp index d53478027e..ddcc6775e8 100644 --- a/src/surf/xml/surfxml_parseplatf.cpp +++ b/src/surf/xml/surfxml_parseplatf.cpp @@ -41,25 +41,25 @@ void sg_platf_trace_connect(TraceConnectCreationArgs* trace_connect) trace_connect->element.c_str()); switch (trace_connect->kind) { - case SURF_TRACE_CONNECT_KIND_HOST_AVAIL: - trace_connect_list_host_avail.insert({trace_connect->trace, trace_connect->element}); - break; - case SURF_TRACE_CONNECT_KIND_SPEED: - trace_connect_list_host_speed.insert({trace_connect->trace, trace_connect->element}); - break; - case SURF_TRACE_CONNECT_KIND_LINK_AVAIL: - trace_connect_list_link_avail.insert({trace_connect->trace, trace_connect->element}); - break; - case SURF_TRACE_CONNECT_KIND_BANDWIDTH: - trace_connect_list_link_bw.insert({trace_connect->trace, trace_connect->element}); - break; - case SURF_TRACE_CONNECT_KIND_LATENCY: - trace_connect_list_link_lat.insert({trace_connect->trace, trace_connect->element}); - break; - default: - surf_parse_error(std::string("Cannot connect trace ") + trace_connect->trace + " to " + trace_connect->element + - ": unknown kind of trace"); - break; + case TraceConnectKind::HOST_AVAIL: + trace_connect_list_host_avail.insert({trace_connect->trace, trace_connect->element}); + break; + case TraceConnectKind::SPEED: + trace_connect_list_host_speed.insert({trace_connect->trace, trace_connect->element}); + break; + case TraceConnectKind::LINK_AVAIL: + trace_connect_list_link_avail.insert({trace_connect->trace, trace_connect->element}); + break; + case TraceConnectKind::BANDWIDTH: + trace_connect_list_link_bw.insert({trace_connect->trace, trace_connect->element}); + break; + case TraceConnectKind::LATENCY: + trace_connect_list_link_lat.insert({trace_connect->trace, trace_connect->element}); + break; + default: + surf_parse_error(std::string("Cannot connect trace ") + trace_connect->trace + " to " + trace_connect->element + + ": unknown kind of trace"); + break; } } diff --git a/src/surf/xml/surfxml_sax_cb.cpp b/src/surf/xml/surfxml_sax_cb.cpp index 3d6ead11d1..05fc0ed4e0 100644 --- a/src/surf/xml/surfxml_sax_cb.cpp +++ b/src/surf/xml/surfxml_sax_cb.cpp @@ -801,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 = SURF_TRACE_CONNECT_KIND_SPEED; + trace_connect.kind = TraceConnectKind::SPEED; break; case A_surfxml_trace___connect_kind_BANDWIDTH: - trace_connect.kind = SURF_TRACE_CONNECT_KIND_BANDWIDTH; + trace_connect.kind = TraceConnectKind::BANDWIDTH; break; case A_surfxml_trace___connect_kind_HOST___AVAIL: - trace_connect.kind = SURF_TRACE_CONNECT_KIND_HOST_AVAIL; + trace_connect.kind = TraceConnectKind::HOST_AVAIL; break; case A_surfxml_trace___connect_kind_LATENCY: - trace_connect.kind = SURF_TRACE_CONNECT_KIND_LATENCY; + trace_connect.kind = TraceConnectKind::LATENCY; break; case A_surfxml_trace___connect_kind_LINK___AVAIL: - trace_connect.kind = SURF_TRACE_CONNECT_KIND_LINK_AVAIL; + trace_connect.kind = TraceConnectKind::LINK_AVAIL; break; default: surf_parse_error("Invalid trace kind"); -- 2.20.1