} e_entity_types;
//--------------------------------------------------
-class s_type;
-typedef s_type *type_t;
-class s_type {
- public:
+
+class Type {
+public:
char *id;
char *name;
char *color;
+
e_entity_types kind;
- s_type *father;
+ 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);
+ 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);
};
-typedef s_type s_type_t;
-
//--------------------------------------------------
-class value {
+class Value {
public:
- char *id;
- char *name;
- char *color;
- type_t father;
- value* ret;
- value(const char* name, const char* color, type_t father);
- ~value();
- static value* get_or_new(const char* name, const char* color, type_t father);
- static value* get(const char* name, type_t father);
+ char* id;
+ char* name;
+ char* color;
+
+ Type* father;
+ Value* ret;
+ Value(const char* name, const char* color, Type* father);
+ ~Value();
+ static Value* get_or_new(const char* name, const char* color, Type* father);
+ static Value* get(const char* name, Type* father);
};
sg_netpoint_t netpoint;
char *name; /* Unique name of this container */
char *id; /* Unique id of this container */
- type_t type; /* Type of this container */
+ Type* type; /* Type of this container */
int level; /* Level in the hierarchy, root level is 0 */
e_container_types kind; /* This container is of what kind */
s_container *father;
xbt_dict_t children;
};
-typedef s_container s_container_t;
//--------------------------------------------------
class PajeEvent {
class DefineVariableTypeEvent : public PajeEvent
{
public:
- type_t type;
- DefineVariableTypeEvent(type_t type);
- void print() override;
+ Type* type;
+ DefineVariableTypeEvent(Type* type);
+ void print() override;
};
//--------------------------------------------------
class DefineStateTypeEvent : public PajeEvent {
- type_t type;
- public:
- DefineStateTypeEvent(type_t type);
+ Type* type;
+
+public:
+ DefineStateTypeEvent(Type* type);
void print() override;
};
class SetVariableEvent : public PajeEvent {
private:
container_t container;
- type_t type;
+ Type* type;
double value;
public:
- SetVariableEvent (double timestamp, container_t container, type_t type, double value);
- void print() override;
+ SetVariableEvent(double timestamp, container_t container, Type* type, double value);
+ void print() override;
};
class AddVariableEvent:public PajeEvent {
private:
container_t container;
- type_t type;
+ Type* type;
double value;
public:
- AddVariableEvent (double timestamp, container_t container, type_t type, double value);
- void print() override;
+ AddVariableEvent(double timestamp, container_t container, Type* type, double value);
+ void print() override;
};
//--------------------------------------------------
class SubVariableEvent : public PajeEvent {
private:
container_t container;
- type_t type;
+ Type* type;
double value;
public:
- SubVariableEvent(double timestamp, container_t container, type_t type, double value);
- void print() override;
+ SubVariableEvent(double timestamp, container_t container, Type* type, double value);
+ void print() override;
};
//--------------------------------------------------
class SetStateEvent : public PajeEvent {
private:
container_t container;
- type_t type;
- value* val;
+ Type* type;
+ Value* val;
const char* filename;
int linenumber;
public:
- SetStateEvent(double timestamp, container_t container, type_t type, value* val);
+ SetStateEvent(double timestamp, container_t container, Type* type, Value* val);
void print() override;
};
class PushStateEvent : public PajeEvent {
public:
container_t container;
- type_t type;
- value* val;
+ Type* type;
+ Value* val;
int size;
const char* filename;
int linenumber;
void* extra_;
public:
- PushStateEvent(double timestamp, container_t container, type_t type, value* val);
- PushStateEvent(double timestamp, container_t container, type_t type, value* val, void* extra);
+ PushStateEvent(double timestamp, container_t container, Type* type, Value* val);
+ PushStateEvent(double timestamp, container_t container, Type* type, Value* val, void* extra);
void print() override;
};
class PopStateEvent : public PajeEvent {
container_t container;
- type_t type;
- public:
- PopStateEvent (double timestamp, container_t container, type_t type);
+ Type* type;
+
+public:
+ PopStateEvent(double timestamp, container_t container, Type* type);
void print() override;
};
class ResetStateEvent : public PajeEvent {
container_t container;
- type_t type;
- public:
- ResetStateEvent (double timestamp, container_t container, type_t type);
+ Type* type;
+
+public:
+ ResetStateEvent(double timestamp, container_t container, Type* type);
void print() override;
};
class StartLinkEvent : public PajeEvent {
public:
container_t container;
- type_t type;
+ Type* type;
container_t sourceContainer;
char *value;
char *key;
int size;
public:
~StartLinkEvent();
- StartLinkEvent(double timestamp, container_t container, type_t type, container_t sourceContainer, const char* value,
+ StartLinkEvent(double timestamp, container_t container, Type* type, container_t sourceContainer, const char* value,
const char* key);
- StartLinkEvent(double timestamp, container_t container, type_t type, container_t sourceContainer, const char* value,
+ StartLinkEvent(double timestamp, container_t container, Type* type, container_t sourceContainer, const char* value,
const char* key, int size);
void print() override;
};
class EndLinkEvent : public PajeEvent {
container_t container;
- type_t type;
+ Type* type;
container_t destContainer;
char *value;
char *key;
public:
- EndLinkEvent (double timestamp, container_t container, type_t type, container_t destContainer,
- const char *value, const char *key);
- ~EndLinkEvent();
- void print() override;
+ EndLinkEvent(double timestamp, container_t container, Type* type, container_t destContainer, const char* value,
+ const char* key);
+ ~EndLinkEvent();
+ void print() override;
};
class NewEvent : public PajeEvent {
public:
container_t container;
- type_t type;
- value* val;
+ Type* type;
+ Value* val;
public:
- NewEvent(double timestamp, container_t container, type_t type, value* val);
+ NewEvent(double timestamp, container_t container, Type* type, Value* val);
void print() override;
};
/* instr_paje_types.c */
XBT_PRIVATE void PJ_type_release ();
-XBT_PUBLIC(type_t) PJ_type_get_root ();
-XBT_PRIVATE type_t PJ_type_container_new (const char *name, type_t father);
-XBT_PRIVATE type_t PJ_type_event_new (const char *name, type_t father);
-type_t PJ_type_link_new (const char *name, type_t father, type_t source, type_t dest);
-XBT_PRIVATE XBT_PRIVATE type_t PJ_type_variable_new (const char *name, const char *color, type_t father);
-XBT_PRIVATE type_t PJ_type_state_new (const char *name, type_t father);
-XBT_PUBLIC(type_t) PJ_type_get (const char *name, const type_t father);
-XBT_PUBLIC(type_t) PJ_type_get_or_null (const char *name, type_t father);
-XBT_PRIVATE XBT_PRIVATE void PJ_type_free (type_t type);
+XBT_PUBLIC(Type*) PJ_type_get_root();
+XBT_PUBLIC(Type*) PJ_type_get(const char* name, Type* father);
+XBT_PRIVATE XBT_PRIVATE void PJ_type_free(Type* type);
/* instr_config.c */
-XBT_PRIVATE void recursiveDestroyType (type_t type);
+XBT_PRIVATE void recursiveDestroyType(Type* type);
XBT_PRIVATE void TRACE_TI_start();
XBT_PRIVATE void TRACE_TI_end();
SG_END_DECL()
-void DefineContainerEvent(type_t type);
-void LogVariableTypeDefinition(type_t type);
-void LogStateTypeDefinition(type_t type);
-void LogLinkTypeDefinition(type_t type, type_t source, type_t dest);
-void LogEntityValue(value* val);
+void DefineContainerEvent(Type* type);
+void LogVariableTypeDefinition(Type* type);
+void LogStateTypeDefinition(Type* type);
+void LogLinkTypeDefinition(Type* type, Type* source, Type* dest);
+void LogEntityValue(Value* val);
void LogContainerCreation (container_t container);
void LogContainerDestruction (container_t container);
-void LogDefineEventType(type_t type);
+void LogDefineEventType(Type* type);
#endif