X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/af45246075b3fc6bc43782309f9320974d5e222d..eee1d85829668c4689d67118f4d6483dc02bb7ea:/src/instr/instr_paje_types.hpp diff --git a/src/instr/instr_paje_types.hpp b/src/instr/instr_paje_types.hpp index f1d24c24bd..8306af0d35 100644 --- a/src/instr/instr_paje_types.hpp +++ b/src/instr/instr_paje_types.hpp @@ -7,6 +7,9 @@ #define INSTR_PAJE_TYPES_HPP #include "src/instr/instr_private.hpp" +#include +#include + namespace simgrid { namespace instr { enum e_event_type : unsigned int; @@ -16,6 +19,8 @@ class EventType; class LinkType; class StateType; class VariableType; +class StateEvent; +class VariableEvent; class Type { long long int id_; @@ -51,12 +56,19 @@ public: class ContainerType : public Type { public: + ContainerType(std::string name) : Type(name, name, "", nullptr){}; ContainerType(std::string name, Type* father); }; class VariableType : public Type { + std::vector events_; + public: VariableType(std::string name, std::string color, Type* father); + ~VariableType(); + void setEvent(double timestamp, Container* container, double value); + void addEvent(double timestamp, Container* container, double value); + void subEvent(double timestamp, Container* container, double value); }; class ValueType : public Type { @@ -81,8 +93,15 @@ public: }; class StateType : public ValueType { + std::vector events_; + public: StateType(std::string name, Type* father); + ~StateType(); + void setEvent(double timestamp, Container* container, std::string value_name); + void pushEvent(double timestamp, Container* container, std::string value_name); + void pushEvent(double timestamp, Container* container, std::string value_name, void* extra); + void popEvent(double timestamp, Container* container); }; } }