MAK Data Logger API Documentation for DIS
lgrGenericFileFormats.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 //and Contains
12 
13 
14 #ifndef lgrGenericFileFormats_H_
15 #define lgrGenericFileFormats_H_
16 
20 #include "lgrConfigData.h"
21 
22 namespace MAKLogger
23 {
24  class DtLgrFileFormatter;
25  class DtLoggerFile;
26  class DtLgrEntityTracker;
27  class DtPacket;
28 
32  {
33  public:
36 
38  virtual DtTime tapeTimeDate();
39 
41  virtual DtFloat64 recordingDuration();
42 
44  virtual const DtPacket* configPacket();
45 
47  virtual DtString description() const;
48 
50  virtual void setDescription(DtString description);
51 
53  virtual DtLgrEntityTracker* entityTracker() const;
54 
55  virtual void setFileVersion(int version);
56 
57  protected:
58 
60  virtual DtLgrEntityTracker* entityTracker();
61 
63  virtual void readStartMetaData();
64 
66  virtual void readEndMetaData();
67 
69  virtual void writeStartMetaData();
70 
72  virtual void writeMiddleMetaData();
73 
75  virtual void writeEndMetaData();
76 
79  virtual void validateType(int type);
80 
82  virtual bool validateStartMetaDataType(int type);
83 
85  virtual bool validateEndMetaDataType(int type);
86 
88  virtual void validateStartMetaDataMap();
89 
91  virtual void validateEndMetaDataMap();
92 
94  virtual int decodeTypeFromFlags(unsigned int flags);
95 
97  virtual void writeHeader(int fd, const DtPacket& packet);
98 
100  virtual void decodeIndexPacket();
101 
103  virtual size_t currentPacketSize();
104 
106  virtual size_t currentPacketDataSize();
107 
109  virtual int currentPacketType();
110 
112  virtual double currentPacketTime();
113 
115  virtual size_t headerSize() const;
116 
117  protected:
119 
120  // treat very last packet as index table if it doesn't otherwise validate,
121  // since in some earlier formats that packet type was not written correctly.
123 
126 
129 
130  };
131 
132 
136  {
137  public:
138 
139  static DtLgrFileFormatter* createGenericFileFormat(DtLoggerFile* file);
140 
141  };
142 
143 }
144 
145 #endif

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)