Go to the documentation of this file.00001
00002
00003
00004
00005
00010
00011 #if DtDIS
00012
00013 #ifndef lgrDisFileFormats_H_
00014 #define lgrDisFileFormats_H_
00015
00016 #include "lgrSim.h"
00017
00018 #include "lgrEntityTrackingFormat.h"
00019 #include "lgrLegacyCheckpointedFormat.h"
00020 #include "lgrLegacyUncheckpointedFormat.h"
00021
00022 namespace MAKLogger
00023 {
00024 class DtLgrFileFormatter;
00025 class DtLoggerFile;
00026 class DtLgrEntityTracker;
00027 class DtLgrDisEntityTracker;
00028
00031 class DT_DLL_LGRSIM DtLgrDisFormat : public DtLgrEntityTrackingFormat
00032 {
00033 public:
00034 DtLgrDisFormat(DtLoggerFile*);
00035 ~DtLgrDisFormat();
00036
00038 virtual DtLgrEntityTracker* entityTracker() const;
00039
00040 protected:
00041
00043 virtual DtLgrEntityTracker* entityTracker();
00044
00046 virtual void readStartMetaData();
00047
00049 virtual void readEndMetaData();
00050
00052 virtual void writeStartMetaData();
00053
00055 virtual void writeEndMetaData();
00056
00059 virtual void validateType(int type);
00060
00062 virtual int decodeTypeFromFlags(unsigned int flags);
00063
00064 protected:
00065
00067 DtLgrDisEntityTracker* myEntityTracker;
00068
00069 };
00070
00071
00074 class DT_DLL_LGRSIM DtLgrDisFileFormats
00075 {
00076 public:
00077
00078 static void registerFormats();
00079
00080 static const int LegacyUncheckpointedFormat = -2;
00081 static const int LegacyCheckpointedFormat = -10;
00082 static const int Logger_4_0_Format = -20;
00083 static const int Logger_4_2_Format = -30;
00084 static const int CurrentCheckpointedFormat = -50;
00085
00086 static const char* versionString(int version);
00087
00088 protected:
00089 static DtLgrFileFormatter* createLegacyUncheckpointedFormat(DtLoggerFile*);
00090 static DtLgrFileFormatter* createLegacyCheckpointedFormat(DtLoggerFile*);
00091 static DtLgrFileFormatter* createLegacyLogger40Format(DtLoggerFile*);
00092 static DtLgrFileFormatter* createLegacyLogger42Format(DtLoggerFile*);
00093 static DtLgrFileFormatter* createCurrentFormat(DtLoggerFile*);
00094
00095 };
00096
00097 }
00098
00099 #endif
00100 #endif