MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
messageOutput.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 messageOutput_H_
10 #define messageOutput_H_
11 
12 #include <lgrCore/lgrCore.h>
13 
14 #include <lgrUtil/observeEvent.h>
15 #include <lgrUtil/absoluteTime.h>
16 
17 #include <set>
18 
19 namespace MAKLogger
20 {
21  template<typename T> class DtCollector;
22  class DtMessageBuffer;
23  class DtMessageFilter;
24  class DtMessageIOInfo;
25  class DtPacket;
26  class DtMessageInput;
27 
31  {
32  public:
35 
37  virtual ~DtMessageOutput();
38 
39  private:
43  DtMessageOutput& operator=(const DtMessageOutput&);
44  public:
45 
47  virtual void activate(const DtMessageInput* fileInput) = 0;
48 
50  virtual bool isActivated() const = 0;
51 
53  virtual void deactivate() = 0;
54 
57 
58  virtual void setSourceTime(const DtAbsoluteTime& sourceTime, bool inclusive);
59  virtual DtAbsoluteTime sourceTime() const;
61 
63  virtual bool sourceTimeInclusive() const;
64 
68  virtual void outputMessages(const DtMessageBuffer& buffer);
69 
71  virtual void outputMessage(const DtPacket* packet);
72 
76  virtual bool outputPacket(const DtPacket& packet) = 0;
77 
80  virtual void filterMessages(DtMessageBuffer& buffer);
81 
83  virtual void filterMessage(DtPacket* packet) = 0;
85  virtual void filterMessageAllowingCheckpoints(DtPacket* packet);
86 
88  virtual const DtMessageIOInfo* info() const = 0;
89 
91  virtual void flush() = 0;
92 
94  virtual void setOutputScaling(double scaling, bool enableStatic) = 0;
95 
97  virtual void setSendImmediate(bool enable);
98 
100  virtual void setSendRetained(bool enable);
101 
103  void attachFilter(DtMessageFilter*);
104 
106  void detachFilter(DtMessageFilter*);
107 
109  void filters(DtCollector<DtMessageFilter*> filterCollection) const;
110 
112  DtObserveEvent<DtPacket>* preOutputPacketEvent();
113 
115  DtObserveEvent<DtPacket>* postOutputPacketEvent();
116 
118  DtObserveEvent<DtPacket>* packetFilteredEvent();
119 
120  protected:
121  std::set<DtMessageFilter*> myFilters;
122 
125 
128 
131 
134 
137 
140 
143 
144  };
145 
146 }
147 
148 #endif
149 

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)