#define drand48() (rand() / (RAND_MAX + 1.0))
#endif
-#define INSTR_DEFAULT_STR_SIZE 500
-
namespace simgrid {
namespace instr {
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();
std::string color_;
Type* father_;
- explicit Value(std::string name, std::string color, Type* father);
-
public:
+ explicit Value(std::string name, std::string color, 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(); }
const char* getId() { return id_.c_str(); }
bool isColored() { return not color_.empty(); }
class Container {
e_container_types kind_; /* This container is of what kind */
+ std::string name_; /* Unique name of this container */
int level_ = 0; /* Level in the hierarchy, root level is 0 */
sg_netpoint_t netpoint_ = nullptr;
Container(std::string name, simgrid::instr::e_container_types kind, Container* father);
virtual ~Container();
- std::string name_; /* Unique name of this container */
std::string id_; /* Unique id of this container */
Type* type_; /* Type of this container */
Container* father_;
std::map<std::string, Container*> children_;
static Container* byNameOrNull(std::string name);
static Container* byName(std::string name);
+ std::string getName() { return name_; }
+ const char* getCname() { return name_.c_str(); }
void removeFromParent();
void logCreation();
void logDestruction();
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);
+void instr_new_variable_type(std::string new_typename, std::string color);
+void instr_new_user_variable_type(std::string father_type, std::string new_typename, std::string 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, std::string 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,