+class Type {
+public:
+ char* id_;
+ char* name_;
+ char* color_;
+
+ e_entity_types kind_;
+ Type* father_;
+ xbt_dict_t children_;
+ xbt_dict_t values_; // valid for all types except variable and container
+ Type(const char* typeNameBuff, const char* key, const char* color, e_entity_types kind, Type* father);
+ ~Type();
+ static Type* getOrNull(const char* name, Type* father);
+ 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);
+};