MAK Data Logger API Documentation for HLA
messagePipeline.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef messagePipeline_H_
10 #define messagePipeline_H_
11 
12 #include "lgrCore.h"
13 #include <list>
14 #include <vlutil/vlTime.h>
15 
16 namespace MAKLogger
17 {
18  class DtAbsoluteTime;
19  class DtMessageState;
20  class DtMessageOutput;
21  class DtMessageInput;
22  class DtLgrMessageOutputListener;
23 
28  {
29  public:
32 
34  virtual ~DtMessagePipeline();
35 
37  virtual void tick();
38 
44  virtual void bufferInputAndDiff(const DtAbsoluteTime& time, bool inclusive);
45 
48  virtual void reset();
49 
51  virtual void activate();
53  virtual void deactivate();
54 
55 
57  virtual bool inputFlag() const;
59  virtual bool outputFlag() const;
61  virtual bool stateFlag() const;
62 
64  virtual void setInputFlag(bool onOff);
66  virtual void setOutputFlag(bool onOff);
68  virtual void setStateFlag(bool onOff);
69 
71  virtual const DtMessageInput* input() const;
73  virtual DtMessageInput* input();
74 
76  virtual const DtMessageOutput* output() const;
78  virtual DtMessageOutput* output();
79 
81  virtual const DtMessageState* state() const;
83  virtual DtMessageState* state();
84 
86  virtual void setInput(DtMessageInput *input);
88  virtual void setOutput(DtMessageOutput *output);
90  virtual void setState(DtMessageState *state);
91 
94  virtual void addOutputListener(DtLgrMessageOutputListener* listener);
95 
98  virtual void removeOutputListener(DtLgrMessageOutputListener* listener);
99 
102  virtual void setPlaybackReadTimeLimit(double limit);
103 
106  virtual double playbackReadTimeLimit() const;
107 
108  protected:
109 
112 
114  DtMessagePipeline& operator=(const DtMessagePipeline&);
115 
126 
129 
132 
135 
136  typedef std::list<DtLgrMessageOutputListener*> OutputListeners;
138 
140  DtClock myLimitClock;
141  };
142 }
143 
144 #endif

Document ID: Generated on Mon Jan 19 08:20:14 EST 2015 from SVN revision 149581
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)