X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6fb292d7e99020dc305b845e0a2284a9d811a4b2..be2d18ff8c8ee4ccf6b713010f8999e7613dcdf5:/src/instr/instr_paje_events.hpp diff --git a/src/instr/instr_paje_events.hpp b/src/instr/instr_paje_events.hpp index 293a2cd0e9..dd24ec5a36 100644 --- a/src/instr/instr_paje_events.hpp +++ b/src/instr/instr_paje_events.hpp @@ -8,6 +8,7 @@ #include "src/instr/instr_private.hpp" #include "src/internal_config.h" +#include #include #include @@ -16,39 +17,44 @@ namespace instr { class EntityValue; class TIData; -enum e_event_type : unsigned int { - PAJE_DefineContainerType, - PAJE_DefineVariableType, - PAJE_DefineStateType, - PAJE_DefineEventType, - PAJE_DefineLinkType, - PAJE_DefineEntityValue, - PAJE_CreateContainer, - PAJE_DestroyContainer, - PAJE_SetVariable, - PAJE_AddVariable, - PAJE_SubVariable, - PAJE_SetState, - PAJE_PushState, - PAJE_PopState, - PAJE_ResetState, - PAJE_StartLink, - PAJE_EndLink, - PAJE_NewEvent +enum class PajeEventType : unsigned int { + DefineContainerType, + DefineVariableType, + DefineStateType, + DefineEventType, + DefineLinkType, + DefineEntityValue, + CreateContainer, + DestroyContainer, + SetVariable, + AddVariable, + SubVariable, + SetState, + PushState, + PopState, + ResetState, + StartLink, + EndLink, + NewEvent }; +inline std::ostream& operator<<(std::ostream& os, PajeEventType event) +{ + return os << static_cast::type>(event); +} + class PajeEvent { Container* container_; Type* type_; public: static xbt::signal on_creation; - static xbt::signal on_destruction; + static xbt::signal on_destruction; double timestamp_; - e_event_type eventType_; + PajeEventType eventType_; std::stringstream stream_; - PajeEvent(Container* container, Type* type, double timestamp, e_event_type eventType); + PajeEvent(Container* container, Type* type, double timestamp, PajeEventType eventType); virtual ~PajeEvent(); Container* get_container() const { return container_; } @@ -62,7 +68,7 @@ class VariableEvent : public PajeEvent { double value_; public: - VariableEvent(double timestamp, Container* container, Type* type, e_event_type event_type, double value) + VariableEvent(double timestamp, Container* container, Type* type, PajeEventType event_type, double value) : PajeEvent::PajeEvent(container, type, timestamp, event_type), value_(value) { } @@ -78,8 +84,8 @@ class StateEvent : public PajeEvent { std::unique_ptr extra_; public: - static xbt::signal on_destruction; - StateEvent(Container* container, Type* type, e_event_type event_type, EntityValue* value, TIData* extra); + static xbt::signal on_destruction; + StateEvent(Container* container, Type* type, PajeEventType event_type, EntityValue* value, TIData* extra); ~StateEvent() override { on_destruction(*this); } bool has_extra() const { return extra_ != nullptr; } void print() override; @@ -92,7 +98,7 @@ class LinkEvent : public PajeEvent { int size_ = -1; public: - LinkEvent(Container* container, Type* type, e_event_type event_type, Container* sourceContainer, + LinkEvent(Container* container, Type* type, PajeEventType event_type, Container* sourceContainer, const std::string& value, const std::string& key, int size) : PajeEvent(container, type, SIMIX_get_clock(), event_type) , endpoint_(sourceContainer) @@ -109,7 +115,7 @@ class NewEvent : public PajeEvent { public: NewEvent(double timestamp, Container* container, Type* type, EntityValue* value) - : PajeEvent::PajeEvent(container, type, timestamp, PAJE_NewEvent), value(value) + : PajeEvent::PajeEvent(container, type, timestamp, PajeEventType::NewEvent), value(value) { } void print() override;