MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrCheckpointPolicy.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 lgrCheckpointPolicy_H_
11 #define lgrCheckpointPolicy_H_
12 
13 #include <lgrCore/lgrCore.h>
14 
15 #include <lgrUtil/absoluteTime.h>
16 #include <lgrUtil/filePosition.h>
17 #include <lgrUtil/observe.h>
19 
20 namespace MAKLogger
21 {
22  class DtLgrFileOutput;
23  class DtPacket;
24  class DtMessageState;
25 
29  {
30  public:
32 
33 
34  virtual ~DtCheckpointPolicy();
35 
36 
37  enum Policy
38  {
41  ByTime
42  };
43 
44 
45  private:
49  DtCheckpointPolicy& operator=(const DtCheckpointPolicy&);
50  public:
51 
56  virtual bool timeForCheckpoint() const = 0;
57 
59  virtual void reset() = 0;
60 
62  virtual void checkpointWritten() = 0;
63 
66  virtual void packetWritten(const DtPacket&) = 0;
67 
69  virtual void connectFileOutput(DtMessageState*,DtLgrFileOutput*);
70 
72  virtual bool interactionsCheckpointed() const;
73 
75  virtual void setInteractionsCheckpointed(bool enable);
76 
77  protected:
78 
79  void onPacketWritten(const DtPacket&);
80 
83 
85 
86 
87  //DtObserverFunctor<DtCheckpointPolicy,DtPacket> myPacketWrittenObserver;
91  };
92 
96  {
97  public:
98  DT_VIRTUAL_CTR(DtCheckpointBySize,(size_t size))
100 
101 
102  virtual ~DtCheckpointBySize();
103 
104  private:
108  DtCheckpointBySize& operator=(const DtCheckpointBySize&);
109  public:
110 
116  virtual bool timeForCheckpoint() const;
117 
119  virtual void reset();
120 
122  virtual size_t sizeBetweenCheckpoints() const;
123 
125  virtual void checkpointWritten();
126 
128  virtual void packetWritten(const DtPacket&);
129 
130  protected:
131 
134 
137  };
138 
142  {
143  public:
146 
147 
148  virtual ~DtCheckpointByCount();
149 
155  virtual bool timeForCheckpoint() const;
156 
158  virtual void reset();
159 
161  virtual void checkpointWritten();
162 
164  virtual void packetWritten(const DtPacket&);
165 
166  protected:
169 
172  };
173 
177  {
178  public:
181 
182 
183  virtual ~DtCheckpointByTime();
184 
189  virtual bool timeForCheckpoint() const;
190 
192  virtual void reset();
193 
195  virtual void checkpointWritten();
196 
198  virtual void packetWritten(const DtPacket&);
199 
200  protected:
201 
205 
209  };
210 }
211 
212 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)