lgrDisMessageState.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00009 
00010 #ifndef lgrDisMessageState_H_
00011 #define lgrDisMessageState_H_
00012 
00013 #if DtDIS
00014 
00015 #include "lgrSim.h"
00016 #include "messageState.h"
00017 #include "virtualConstructor.h"
00018 
00019 #include <list>
00020 #include <set>
00021 #include <vlpi/disEnums.h>
00022 
00023 enum DtPduKind;
00024 
00025 namespace MAKLogger
00026 {
00027 
00028    class DtLgrDisSimulationManager;
00029 
00032    class DT_DLL_LGRSIM DtLgrDisMessageState : public DtMessageState
00033    {
00034    public:
00035 
00036       typedef std::set<DtPduKind> DtPduKindSet;
00037 
00038       DT_VIRTUAL_CTR(DtLgrDisMessageState,(const DtPduKindSet& statePduKinds))
00039 
00040       virtual ~DtLgrDisMessageState();
00041 
00044       virtual void modifyMessages(DtMessageBuffer& messages);
00045 
00047       virtual void modifyMessage(DtPacket& packet);
00048 
00050       virtual void decodeCheckpoint(const DtPacket& packet,DtMessageBuffer& buffer);
00051 
00054       virtual DtPacket* generateCheckpoint(const DtAbsoluteTime& timestampe);
00055 
00056       virtual bool isUpdateMessage(const DtPacket& packet) const;
00057       virtual bool isRemovalMessage(const DtPacket& packet) const;
00058 
00060       virtual void createUpdate(DtStateObject& object,const DtAbsoluteTime& time, std::list<DtPacket*>& packetlist);
00061 
00063       virtual DtPacket* createRemoval(DtStateObject& object,const DtAbsoluteTime& time);
00064 
00065       virtual void setInputVersion(int disVersion);
00066       virtual void setOutputVersion(int disVersion);
00067 
00068    protected:
00069 
00070       virtual void activateState();
00071       virtual void deactivateState();
00072 
00074       DtLgrDisMessageState(const DtLgrDisMessageState&);
00075 
00077       DtLgrDisMessageState& operator=(const DtLgrDisMessageState&);
00078 
00079       DtPduKindSet myStatePduKinds;
00080 
00081       int myInputVersion;
00082       int myOutputVersion;
00083    };
00084 
00085 }
00086 
00087 #endif
00088 #endif

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)