MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
messagePipeline.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef messagePipeline_H_
10 #define messagePipeline_H_
11 
12 #include <lgrCore/lgrCore.h>
13 #include <lgrUtil/absoluteTime.h>
14 #include <list>
15 #include <vlutil/vlTime.h>
16 
17 namespace MAKLogger
18 {
19  class DtAbsoluteTime;
20  class DtMessageState;
21  class DtMessageOutput;
22  class DtMessageInput;
23  class DtLgrMessageOutputListener;
24 
29  {
30  public:
33 
35  virtual ~DtMessagePipeline();
36 
38  virtual void tick();
39 
45  virtual void bufferInputAndDiff(const DtAbsoluteTime& time, bool inclusive,
46  bool includeInteractions);
47 
50  virtual void reset();
51 
53  virtual void activate();
54 
56  virtual void deactivate();
57 
59  virtual void activateOutput();
60 
62  virtual void deactivateOutput();
63 
65  virtual bool wasListeningOnIdle();
66 
68  virtual bool isListeningOnIdle();
69 
71  virtual bool inputFlag() const;
73  virtual bool outputFlag() const;
75  virtual bool stateFlag() const;
76 
78  virtual void setInputFlag(bool onOff);
80  virtual void setOutputFlag(bool onOff);
82  virtual void setStateFlag(bool onOff);
83 
85  virtual const DtMessageInput* input() const;
87  virtual DtMessageInput* input();
88 
90  virtual const DtMessageOutput* output() const;
92  virtual DtMessageOutput* output();
93 
95  virtual const DtMessageState* state() const;
97  virtual DtMessageState* state();
98 
100  virtual DtRelativeTime startTime();
102  virtual DtRelativeTime endTime();
103 
105  virtual void setInput(DtMessageInput *input);
107  virtual void setOutput(DtMessageOutput *output);
109  virtual void setState(DtMessageState *state);
110 
113  virtual void addOutputListener(DtLgrMessageOutputListener* listener);
114 
117  virtual void removeOutputListener(DtLgrMessageOutputListener* listener);
118 
121  virtual void setPlaybackReadTimeLimit(double limit);
122 
125  virtual double playbackReadTimeLimit() const;
126 
127  protected:
128 
131 
133  DtMessagePipeline& operator=(const DtMessagePipeline&);
134 
141 
144 
147 
150 
152 
157 
158  typedef std::list<DtLgrMessageOutputListener*> OutputListeners;
160 
162  DtClock myLimitClock;
163 
166  };
167 }
168 
169 #endif
bool myPriorOutputFlag
Maintains flags status prior to reset.
Definition: messagePipeline.h:154
bool myInputFlag
Controls if the Message Controller reads Messages from the Input.
Definition: messagePipeline.h:136
std::list< DtLgrMessageOutputListener * > OutputListeners
Definition: messagePipeline.h:158
Relative Time, an elapsed duration of time, no implied measurement, could be seconds/cycles or ticks ...
Definition: absoluteTime.h:28
DtRelativeTime myStartTime
Definition: messagePipeline.h:164
bool myOutputFlag
Controls if the Message Controller sends Messages to Output.
Definition: messagePipeline.h:138
double myPlaybackReadTimeLimit
Definition: messagePipeline.h:161
Class defines interface for outputs for messages.
Definition: messageOutput.h:29
The message input is the interface for objects that provide messages into the pipeline.
Definition: messageInput.h:22
DtMessageOutput * myOutput
The message output source which the Message Controller sends Messages to.
Definition: messagePipeline.h:146
bool myPriorInputFlag
Maintains flags status prior to reset.
Definition: messagePipeline.h:153
DtClock myLimitClock
Definition: messagePipeline.h:162
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
bool myPriorStateFlag
Maintains flags status prior to reset.
Definition: messagePipeline.h:155
DtMessageState * myState
The state which the Message Controller maintains.
Definition: messagePipeline.h:149
Base class for an output listener.
Definition: messageOutputListener.h:20
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
DtRelativeTime myEndTime
Definition: messagePipeline.h:165
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
bool myStateFlag
Controls if the Message Controller sends Messages to State.
Definition: messagePipeline.h:140
The message pipeline which takes messages from the input, passes them through the state and ultimatel...
Definition: messagePipeline.h:28
The Abstract message state maintained by the logger.
Definition: messageState.h:33
DtMessageInput * myInput
The message input source which the Message Controller gets Messages from.
Definition: messagePipeline.h:143
OutputListeners myListeners
Definition: messagePipeline.h:159
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 Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)