- fprintf(tracing_file, "%% Name string\n");
- fprintf(tracing_file, "%% Color color\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-static void TRACE_header_PajeCreateContainer ()
-{
- fprintf(tracing_file, "%%EventDef PajeCreateContainer %d\n", PAJE_CreateContainer);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Alias string\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Container string\n");
- fprintf(tracing_file, "%% Name string\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-static void TRACE_header_PajeDestroyContainer ()
-{
- fprintf(tracing_file, "%%EventDef PajeDestroyContainer %d\n", PAJE_DestroyContainer);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Name string\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-static void TRACE_header_PajeSetVariable ()
-{
- fprintf(tracing_file, "%%EventDef PajeSetVariable %d\n", PAJE_SetVariable);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Container string\n");
- fprintf(tracing_file, "%% Value double\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-static void TRACE_header_PajeAddVariable ()
-{
- fprintf(tracing_file, "%%EventDef PajeAddVariable %d\n", PAJE_AddVariable);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Container string\n");
- fprintf(tracing_file, "%% Value double\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-static void TRACE_header_PajeSubVariable ()
-{
- fprintf(tracing_file, "%%EventDef PajeSubVariable %d\n", PAJE_SubVariable);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Container string\n");
- fprintf(tracing_file, "%% Value double\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-
-static void TRACE_header_PajeSetState ()
-{
- fprintf(tracing_file, "%%EventDef PajeSetState %d\n", PAJE_SetState);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Container string\n");
- fprintf(tracing_file, "%% Value string\n");
- fprintf(tracing_file, "%%EndEventDef\n");
-}
-
-static void TRACE_header_PajePushState (int size)
-{
- fprintf(tracing_file, "%%EventDef PajePushState %d\n", PAJE_PushState);
- fprintf(tracing_file, "%% Time date\n");
- fprintf(tracing_file, "%% Type string\n");
- fprintf(tracing_file, "%% Container string\n");
- fprintf(tracing_file, "%% Value string\n");
- if (size) fprintf(tracing_file, "%% Size int\n");
+ fs.close();
+}
+
+void dump_header(bool basic, bool display_sizes)
+{
+ // Types
+ tracing_file << "%EventDef PajeDefineContainerType " << PajeEventType::DefineContainerType << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ if (basic)
+ tracing_file << "% ContainerType string" << std::endl;
+ else
+ tracing_file << "% Type string" << std::endl;
+
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeDefineVariableType " << PajeEventType::DefineVariableType << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "% Color color" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeDefineStateType " << PajeEventType::DefineStateType << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeDefineEventType " << PajeEventType::DefineEventType << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeDefineLinkType " << PajeEventType::DefineLinkType << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ tracing_file << "% " << (basic ? "Container" : "") << "Type string" << std::endl;
+ tracing_file << "% " << (basic ? "Source" : "Start") << "ContainerType string" << std::endl;
+ tracing_file << "% " << (basic ? "Dest" : "End") << "ContainerType string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ // EntityValue
+ tracing_file << "%EventDef PajeDefineEntityValue " << PajeEventType::DefineEntityValue << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ tracing_file << "% " << (basic ? "Entity" : "") << "Type string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "% Color color" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ // Container
+ tracing_file << "%EventDef PajeCreateContainer " << PajeEventType::CreateContainer << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Alias string" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Container string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeDestroyContainer " << PajeEventType::DestroyContainer << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Name string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ // Variable
+ tracing_file << "%EventDef PajeSetVariable " << PajeEventType::SetVariable << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Container string" << std::endl;
+ tracing_file << "% Value double" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeAddVariable " << PajeEventType::AddVariable << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Container string" << std::endl;
+ tracing_file << "% Value double" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajeSubVariable " << PajeEventType::SubVariable << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Container string" << std::endl;
+ tracing_file << "% Value double" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ // State
+ tracing_file << "%EventDef PajeSetState " << PajeEventType::SetState << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Container string" << std::endl;
+ tracing_file << "% Value string" << std::endl;
+ tracing_file << "%EndEventDef" << std::endl;
+
+ tracing_file << "%EventDef PajePushState " << PajeEventType::PushState << std::endl;
+ tracing_file << "% Time date" << std::endl;
+ tracing_file << "% Type string" << std::endl;
+ tracing_file << "% Container string" << std::endl;
+ tracing_file << "% Value string" << std::endl;
+ if (display_sizes)
+ tracing_file << "% Size int" << std::endl;