namespace simgrid {
namespace instr {
-enum e_event_type : unsigned int;
-class EntityValue;
class ContainerType;
class EventType;
-class LinkType;
-class StateType;
-class VariableType;
-class StateEvent;
-class VariableEvent;
class Type {
long long int id_;
public:
std::map<std::string, Type*> children_;
+ Container* issuer_ = nullptr;
Type(std::string name, std::string alias, std::string color, Type* father);
virtual ~Type();
StateType* getOrCreateStateType(std::string name);
VariableType* getOrCreateVariableType(std::string name, std::string color);
+ void setCallingContainer(Container* container) { issuer_ = container; }
+
void logDefinition(e_event_type event_type);
void logDefinition(Type* source, Type* dest);
};
class VariableType : public Type {
std::vector<VariableEvent*> events_;
- Container* issuer_ = nullptr;
-
public:
VariableType(std::string name, std::string color, Type* father);
~VariableType();
- void setCallingContainer(Container* container) { issuer_ = container; }
void setEvent(double timestamp, double value);
void addEvent(double timestamp, double value);
void subEvent(double timestamp, double value);
class LinkType : public ValueType {
public:
LinkType(std::string name, std::string alias, Type* father);
- void startEvent(Container* source_container, Container* sourceContainer, std::string value, std::string key);
- void startEvent(Container* source_container, Container* sourceContainer, std::string value, std::string key,
- int size);
- void endEvent(Container* source_container, Container* destContainer, std::string value, std::string key);
+ void startEvent(Container* startContainer, std::string value, std::string key);
+ void startEvent(Container* startContainer, std::string value, std::string key, int size);
+ void endEvent(Container* endContainer, std::string value, std::string key);
};
class EventType : public ValueType {
class StateType : public ValueType {
std::vector<StateEvent*> events_;
- Container* issuer_ = nullptr;
-
public:
StateType(std::string name, Type* father);
~StateType();
- void setCallingContainer(Container* container) { issuer_ = container; }
void setEvent(std::string value_name);
void pushEvent(std::string value_name);
- void pushEvent(std::string value_name, void* extra);
+ void pushEvent(std::string value_name, TIData* extra);
void popEvent();
};
}