Type* byName(std::string name);
- Type* addEventType(std::string name);
- Type* addLinkType(std::string name, Type* source, Type* dest);
- Type* addStateType(std::string name);
- Type* addVariableType(std::string name, std::string color);
+ 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 logContainerTypeDefinition();
void logVariableTypeDefinition();
void logLinkTypeDefinition(simgrid::instr::Type* source, simgrid::instr::Type* dest);
void logDefineEventType();
- Type* getChildOrNull(std::string name);
- static Type* containerNew(const char* name, Type* father);
+ static Type* createRootType();
+ static Type* getRootType();
};
//--------------------------------------------------
std::string name_;
std::string id_;
std::string color_;
+ Type* father_;
explicit Value(std::string name, std::string color, Type* father);
public:
- ~Value() = default;
- Type* father_;
+ ~Value();
static Value* byNameOrCreate(std::string name, std::string color, Type* father);
static Value* byName(std::string name, Type* father);
const char* getCname() { return name_.c_str(); }
class Container {
e_container_types kind_; /* This container is of what kind */
int level_ = 0; /* Level in the hierarchy, root level is 0 */
+ sg_netpoint_t netpoint_ = nullptr;
public:
Container(std::string name, simgrid::instr::e_container_types kind, Container* father);
virtual ~Container();
- sg_netpoint_t netpoint_ = nullptr;
std::string name_; /* Unique name of this container */
std::string id_; /* Unique id of this container */
Type* type_; /* Type of this container */
XBT_PRIVATE long long int instr_new_paje_id();
XBT_PUBLIC(container_t) PJ_container_get_root ();
XBT_PUBLIC(void) PJ_container_set_root (container_t root);
-
-/* instr_paje_types.c */
-XBT_PUBLIC(simgrid::instr::Type*) PJ_type_get_root();
+void instr_new_variable_type(std::string new_typename, const char* color);
+void instr_new_user_variable_type(std::string father_type, std::string new_typename, const char* color);
+void instr_new_user_state_type(std::string father_type, std::string new_typename);
+void instr_new_value_for_user_state_type(std::string new_typename, const char* value, const char* color);
/* instr_config.c */
XBT_PRIVATE void TRACE_TI_start();
XBT_PRIVATE void TRACE_TI_end();
XBT_PRIVATE void TRACE_paje_dump_buffer(bool force);
-XBT_PRIVATE void dump_comment_file(const char* filename);
-XBT_PRIVATE void dump_comment(const char* comment);
+XBT_PRIVATE void dump_comment_file(std::string filename);
+XBT_PRIVATE void dump_comment(std::string comment);
enum e_caller_type {
TRACING_INIT,