+class SubVariableEvent : public PajeEvent {
+ public:
+ container_t container;
+ type_t type;
+ double value;
+ public:
+ SubVariableEvent(double timestamp, container_t container, type_t type, double value);
+ void print() override;
+};
+//--------------------------------------------------
+
+class SetStateEvent : public PajeEvent {
+ public:
+ container_t container;
+ type_t type;
+ val_t value;
+ const char* filename;
+ int linenumber;
+ public:
+ SetStateEvent (double timestamp, container_t container, type_t type, val_t value);
+ void print() override;
+};
+
+
+class PushStateEvent : public PajeEvent {
+ public:
+ container_t container;
+ type_t type;
+ val_t value;
+ int size;
+ const char* filename;
+ int linenumber;
+ void* extra_;
+ public:
+ PushStateEvent (double timestamp, container_t container, type_t type, val_t value);
+ PushStateEvent (double timestamp, container_t container, type_t type, val_t value,
+ 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);
+ void print() override;
+};
+
+class ResetStateEvent : public PajeEvent {
+ container_t container;
+ type_t type;
+ public:
+ ResetStateEvent (double timestamp, container_t container, type_t type);
+ void print() override;
+};
+
+class StartLinkEvent : public PajeEvent {
+ public:
+ container_t container;
+ type_t 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,
+ const char* key);
+ StartLinkEvent(double timestamp, container_t container, type_t 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;
+ 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;
+};
+
+
+class NewEvent : public PajeEvent {
+ public:
+ container_t container;
+ type_t type;
+ val_t value;
+ public:
+ NewEvent (double timestamp, container_t container, type_t type, val_t value);
+ void print() override;
+
+};
+
+
+extern XBT_PRIVATE xbt_dict_t created_categories;
+extern XBT_PRIVATE xbt_dict_t declared_marks;
+extern XBT_PRIVATE xbt_dict_t user_host_variables;
+extern XBT_PRIVATE xbt_dict_t user_vm_variables;
+extern XBT_PRIVATE xbt_dict_t user_link_variables;
+extern XBT_PRIVATE double TRACE_last_timestamp_to_dump;