Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef messageInput_H_
00010 #define messageInput_H_
00011
00012 #include "lgrCore.h"
00013 #include "messageBuffer.h"
00014
00015 namespace MAKLogger
00016 {
00017 class DtMessageIOInfo;
00018
00022 class DT_DLL_LGRCORE DtMessageInput
00023 {
00024 protected:
00025 DtMessageInput();
00026 private:
00028 DtMessageInput(const DtMessageInput&);
00030 DtMessageInput& operator=(const DtMessageInput&);
00031 public:
00032
00033 virtual ~DtMessageInput();
00034
00036 virtual void activate() = 0;
00037
00039 virtual void deactivate() = 0;
00040
00042 virtual void startReadMessages(DtAbsoluteTime timeToRead);
00043
00045 virtual void stopReadMessages();
00046
00048 virtual DtAbsoluteTime inputTime() const;
00049
00055 virtual void setStopReadingTimeBoundary(bool inclusive);
00056
00060 virtual bool stopReadingBoundary() const;
00061
00063 virtual void getNextMessages(DtMessageBuffer&) = 0;
00064
00066 virtual void dropNextMessages() = 0;
00067
00069 virtual const DtMessageIOInfo* info() const = 0;
00070
00072 virtual void tick();
00073
00076 virtual void setTimeLimit(double limit);
00077
00078 protected:
00079
00080 DtAbsoluteTime myCurrentTime;
00081 bool myStopReadingBoundary;
00082 double myTimeLimit;
00083 };
00084
00085 }
00086
00087 #endif