Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010 #if DtHLA
00011 #ifndef lgrHlaFileFormats_H_
00012 #define lgrHlaFileFormats_H_
00013
00014 #include "lgrSim.h"
00015
00016 #include "lgrEntityTrackingFormat.h"
00017
00018 namespace MAKLogger
00019 {
00020 class DtLgrFileFormatter;
00021 class DtLoggerFile;
00022 class DtLgrHlaEntityTracker;
00023
00026 class DT_DLL_LGRSIM DtLgrHlaFormat : public DtLgrEntityTrackingFormat
00027 {
00028 public:
00029 DtLgrHlaFormat(DtLoggerFile*);
00030
00031 virtual ~DtLgrHlaFormat();
00032
00034 virtual DtLgrEntityTracker* entityTracker() const;
00035
00037 virtual void copyMetaData(const DtLgrFileFormatter* formatter);
00038
00039 protected:
00040
00043 virtual void validateType(int type);
00044
00046 virtual int decodeTypeFromFlags(unsigned int flags);
00047
00049 virtual void readStartMetaData();
00050
00052 virtual void writeStartMetaData();
00053
00055 virtual void readEndMetaData();
00056
00058 virtual void writeEndMetaData();
00059
00061 virtual void readFomMetaData();
00062
00064 virtual void writeFomMetaData();
00065
00067 virtual DtLgrEntityTracker* entityTracker();
00068
00069 protected:
00070
00071 DtFilePosition myFomPosition;
00072
00074 DtLgrHlaEntityTracker* myEntityTracker;
00075
00076 };
00077
00078
00081 class DT_DLL_LGRSIM DtLgrHlaFileFormats
00082 {
00083 public:
00084
00085 static void registerFormats();
00086
00087 static const char* versionString(int version);
00088
00089 static const int LegacyUncheckpointedFormat_1516E = -8;
00090 static const int LegacyCheckpointedFormat_1516E = -15;
00091 static const int Logger_4_0_Format_1516E = -23;
00092 static const int Logger_4_2_Format_1516E = -33;
00093 static const int CurrentCheckpointedFormat_1516E = -53;
00094
00095 static const int LegacyUncheckpointedFormat_1516 = -7;
00096 static const int LegacyCheckpointedFormat_1516 = -14;
00097 static const int Logger_4_0_Format_1516 = -22;
00098 static const int Logger_4_2_Format_1516 = -32;
00099 static const int CurrentCheckpointedFormat_1516 = -52;
00100
00101 static const int LegacyUncheckpointedFormat_13 = -6;
00102 static const int LegacyCheckpointedFormat_13 = -13;
00103 static const int Logger_4_0_Format_13 = -21;
00104 static const int Logger_4_2_Format_13 = -31;
00105 static const int CurrentCheckpointedFormat_13 = -51;
00106
00107 #if DtHLA_1516
00108 #if DtHLA_1516_EVOLVED
00109 static const int LegacyUncheckpointedFormat = LegacyUncheckpointedFormat_1516E;
00110 static const int LegacyCheckpointedFormat = LegacyCheckpointedFormat_1516E;
00111 static const int Logger_4_0_Format = Logger_4_0_Format_1516E;
00112 static const int CurrentCheckpointedFormat = CurrentCheckpointedFormat_1516E;
00113 #else // !DtHLA_1516_EVOLVED
00114 static const int LegacyUncheckpointedFormat = LegacyUncheckpointedFormat_1516;
00115 static const int LegacyCheckpointedFormat = LegacyCheckpointedFormat_1516;
00116 static const int Logger_4_0_Format = Logger_4_0_Format_1516;
00117 static const int CurrentCheckpointedFormat = CurrentCheckpointedFormat_1516;
00118 #endif // DtHLA_1516_EVOLVED
00119 #else // !DtHLA_1516
00120 static const int LegacyUncheckpointedFormat = LegacyUncheckpointedFormat_13;
00121 static const int LegacyCheckpointedFormat = LegacyCheckpointedFormat_13;
00122 static const int Logger_4_0_Format = Logger_4_0_Format_13;
00123 static const int CurrentCheckpointedFormat = CurrentCheckpointedFormat_13;
00124 #endif // DtHLA_1516_EVOLVED
00125
00126 protected:
00127 static DtLgrFileFormatter* createLegacyUncheckpointedFormat(DtLoggerFile*);
00128 static DtLgrFileFormatter* createLegacyCheckpointedFormat(DtLoggerFile*);
00129 static DtLgrFileFormatter* createLogger40Format(DtLoggerFile*);
00130 static DtLgrFileFormatter* createLogger42Format(DtLoggerFile*);
00131 static DtLgrFileFormatter* createCheckpointedFormat(DtLoggerFile*);
00132
00133 };
00134
00135 }
00136
00137 #endif
00138 #endif