Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef stateObject_H_
00010 #define stateObject_H_
00011
00012 #include "lgrCore.h"
00013 #include "virtualConstructor.h"
00014
00015 #include <vlutil/vlMachineTypes.h>
00016
00017 namespace MAKLogger
00018 {
00019
00020 class DtAbsoluteTime;
00021 class DtMessageState;
00022 class DtPacket;
00023
00026 class DT_DLL_LGRCORE DtStateObject
00027 {
00028 public:
00029
00030 DT_PURE_VIRTUAL_CTR(DtStateObject,(DtMessageState&,DtPacket&))
00031
00032 virtual ~DtStateObject();
00033
00035 virtual DtU64 uniqueId() const = 0;
00036
00038 virtual bool equals(const DtStateObject& copy);
00039
00041 virtual DtU64 packetId(DtPacket&) const = 0;
00042
00045 virtual void setPacketId(DtU64,DtPacket&) const = 0;
00046
00048 virtual bool packetForMe(DtPacket&) const = 0;
00049 virtual void updateViaPacket(DtPacket&) = 0;
00050
00052 virtual bool operator < (const DtStateObject& second);
00053
00056 virtual bool isEntity() const;
00057
00060 virtual bool isAggregate() const;
00061
00064 virtual bool isEnvironmentalProcess() const;
00065
00067 virtual DtPacket* createRemoval(const DtAbsoluteTime& currentTime) const = 0;
00068 };
00069
00070 }
00071
00072 #endif