Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef messageBuffer_H_
00010 #define messageBuffer_H_
00011
00012 #include "lgrCore.h"
00013 #include "packet.h"
00014
00015 #include <list>
00016
00017 namespace MAKLogger
00018 {
00019
00023 class DT_DLL_LGRCORE DtMessageBuffer
00024 {
00025 public:
00026
00027 typedef std::list<DtPacket*> PacketList;
00028
00030 DtMessageBuffer();
00031
00033 ~DtMessageBuffer();
00034
00036
00037 PacketList::iterator begin();
00038 PacketList::const_iterator begin() const;
00040
00042
00043 PacketList::iterator end();
00044 PacketList::const_iterator end() const;
00046
00048 const DtPacket* first() const;
00049
00051 const DtPacket* last() const;
00052
00054 void setTime(DtAbsoluteTime);
00055
00057 void sortByTime();
00058
00062 void offsetTime(DtRelativeTime offset);
00063
00065 void add(DtPacket*);
00066
00068 void clear();
00069
00072 void merge(DtMessageBuffer& secondary);
00073
00077 void merge(DtMessageBuffer& secondary,const DtAbsoluteTime& time,
00078 bool inclusive);
00079
00082 void merge(DtMessageBuffer& secondary,int count);
00083
00085 size_t size() const;
00086
00088 size_t sizeOfPackets() const;
00089
00091 void unfilterAll() const;
00092
00094 void addAttribute(DtPacketAttributeSP attr);
00095
00096 protected:
00097 PacketList myMessages;
00098 };
00099
00100 }
00101
00102 #endif