MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrFileInput.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrFileInput_H_
11 #define lgrFileInput_H_
12 
13 #include <lgrCore/lgrCore.h>
14 #include "messageInput.h"
15 #include <lgrUtil/filePosition.h>
16 
17 namespace MAKLogger
18 {
19 
20  class DtAbsoluteTime;
21  class DtLoggerPlaybackFile;
22  class DtLgrEntityTracker;
23 
27  {
28 
29  protected:
31 
32  public:
33  virtual ~DtLgrFileInput();
34 
35  private:
39  DtLgrFileInput& operator=(const DtLgrFileInput&);
40  public:
41 
43  virtual const DtLoggerPlaybackFile* playbackFile() const = 0;
44 
46  virtual void setReadBufferSize(size_t) = 0;
47 
49  virtual size_t getReadBufferSize() const = 0;
50 
52  virtual bool isCheckpointNecessary(DtAbsoluteTime currentTime,DtAbsoluteTime newTime) = 0;
53 
55  virtual void seekToPreviousCheckpoint(DtAbsoluteTime timeToJumpBefore) = 0;
56 
58  virtual void seekToNextCheckpoint(DtAbsoluteTime currentTime) = 0;
59 
62  virtual double peekCurrentPacketTime() = 0;
63 
66  virtual int peekCurrentPacketType() = 0;
67 
70  virtual size_t peekCurrentPacketSize() = 0;
71 
74  virtual bool recoverLastPacket() = 0;
75 
77  virtual const DtString& filename() const = 0;
78 
80  virtual DtFilePosition fileSize() const = 0;
81 
83  virtual DtFilePosition currentPosition() const = 0;
84 
86  virtual DtAbsoluteTime firstMessageTime() const = 0;
87 
89  virtual DtAbsoluteTime lastMessageTime() const = 0;
90 
92  virtual DtRelativeTime duration() const = 0;
93 
95  virtual DtString description() const = 0;
96 
98  virtual DtAbsoluteTime lastReadTime() const = 0;
99 
101  virtual DtLgrEntityTracker* entityTracker() const = 0;
102 
106  virtual bool testFileExpanding(bool updateLastTime=true) = 0;
107  };
108 
109 }
110 
111 #endif
DtInt64 DtFilePosition
The position in a file, stored as a 64bit unsigned integer.
Definition: filePosition.h:18
Contains MAKLogger::DtFilePosition typedef.
Relative Time, an elapsed duration of time, no implied measurement, could be seconds/cycles or ticks ...
Definition: absoluteTime.h:28
An abstract interface for message input from a file.
Definition: lgrFileInput.h:26
The message input is the interface for objects that provide messages into the pipeline.
Definition: messageInput.h:22
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
Indexes packets in a file.
Definition: lgrEntityTracker.h:32
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
Contains MAKLogger::DtMessageInput class.
A logger playback file which has an input file and it&#39;s format.
Definition: loggerPlaybackFile.h:25
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
Contains lgrCore library definitions.

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)