- Type* getChild(const char* name);
- Type* getChildOrNull(const char* name);
-
- static Type* containerNew(const char* name, Type* father);
- static Type* eventNew(const char* name, Type* father);
- static Type* variableNew(const char* name, const char* color, Type* father);
- static Type* linkNew(const char* name, Type* father, Type* source, Type* dest);
- static Type* stateNew(const char* name, Type* father);
+
+ std::string getName() { return name_; }
+ const char* getCname() { return name_.c_str(); }
+ const char* getId() { return id_.c_str(); }
+ e_entity_types getKind() { return kind_; }
+ bool isColored() { return not color_.empty(); }
+
+ Type* byName(std::string name);
+
+ Type* getOrCreateContainerType(std::string name);
+ Type* getOrCreateEventType(std::string name);
+ Type* getOrCreateLinkType(std::string name, Type* source, Type* dest);
+ Type* getOrCreateStateType(std::string name);
+ Type* getOrCreateVariableType(std::string name, std::string color);
+
+ void addEntityValue(std::string name, std::string color);
+ void addEntityValue(std::string name);
+ Value* getEntityValue(std::string name);
+
+ void logContainerTypeDefinition();
+ void logVariableTypeDefinition();
+ void logStateTypeDefinition();
+ void logLinkTypeDefinition(simgrid::instr::Type* source, simgrid::instr::Type* dest);
+ void logDefineEventType();
+
+ static Type* createRootType();
+ static Type* getRootType();