00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 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