10 #ifndef lgrDisMessageState_H_
11 #define lgrDisMessageState_H_
22 #include <vlpi/disEnums.h>
29 class DtLgrDisSimulationManager;
33 class DT_DLL_LGRSIM DtLgrDisMessageState :
public DtMessageState
37 typedef std::set<DtPduKind> DtPduKindSet;
40 (
const DtPduKindSet& statePduKinds,
const DtLgrDisSimulationManager* simMgr),
41 (
const DtPduKindSet& statePduKinds,
const DtLgrDisSimulationManager* simMgr=0))
43 virtual ~DtLgrDisMessageState();
47 virtual
void modifyMessages(DtMessageBuffer& messages) const;
50 virtual
void modifyMessage(DtPacket& packet) const;
53 virtual
void decodeCheckpoint(const DtPacket& packet, DtMessageBuffer& messageBuffer,
54 bool includeInteractions);
57 virtual
void decodeLinkedCheckpoint(const DtPacket& packet, DtMessageBuffer& messageBuffer,
58 bool includeInteractions);
62 virtual DtPacket* generateCheckpoint(const
DtAbsoluteTime& timestampe,
bool includeInteractions);
65 virtual
bool isUpdateMessage(const DtPacket& packet) const;
68 virtual
bool isUpdateMessage(DtPduKind pduKind) const;
71 virtual
bool isRemovalMessage(const DtPacket& packet) const;
74 virtual
bool isInteractionMessage(const DtPacket& packet) const;
77 virtual
bool isInteractionMessage(DtPduKind pduKind) const;
80 virtual
void createUpdate(const DtStateObject&
object,const
DtAbsoluteTime& time, std::list<DtPacket*>& packetlist) const;
83 virtual DtPacket* createRemoval(const DtStateObject&
object,const
DtAbsoluteTime& time) const;
85 virtual
void setInputVersion(
int disVersion);
86 virtual
void setOutputVersion(
int disVersion);
91 virtual
void decodeCheckpoint(const
char* checkpointBuffer,
size_t bufferSize,
DtAbsoluteTime time,
92 DtMessageBuffer& messageBuffer,
bool includeInteractions);
95 DtLgrDisMessageState(const DtLgrDisMessageState&);
98 DtLgrDisMessageState& operator=(const DtLgrDisMessageState&);
100 virtual
void activateState();
101 virtual
void deactivateState();
105 DtPduKindSet myStatePduKinds;