Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010
00011 #pragma once
00012
00013 #include "lgrSim.h"
00014 #include "remoteControlInterface.h"
00015 #include "lgrCommand.h"
00016
00017 #include <vlutil/vlString.h>
00018
00019 class DtEntityIdentifier;
00020 class DtLgrResponsePdu;
00021
00022 namespace MAKLogger
00023 {
00024
00027 class DT_DLL_LGRSIM DtRemoteControlDomainInterface
00028 {
00029 public:
00030
00032 DtRemoteControlDomainInterface(DtRemoteControlInterface* remoteControlInterface,
00033 int domainId);
00034
00036 virtual ~DtRemoteControlDomainInterface();
00037
00038 private:
00040 DtRemoteControlDomainInterface(const DtRemoteControlDomainInterface&);
00042 DtRemoteControlDomainInterface& operator=(const DtRemoteControlDomainInterface&);
00043
00044 public:
00045
00047 virtual void commandAccepted(DtSequenceNumber sequenceNumber);
00048
00050 virtual void commandRejected(const DtEntityIdentifier& source, DtSequenceNumber sequenceNumber);
00051
00053 virtual void commandTimedOut(DtSequenceNumber sequenceNumber);
00054
00056 virtual void processResponse(const DtLgrResponsePdu& responsePdu)=0;
00057
00059 virtual DtLgrCommandId lastSentCommand() const;
00060
00062 virtual const DtEntityIdSet& sourcesPendingResponse() const;
00063
00065 virtual void setSourcesPendingResponse(const DtEntityIdSet& sourceIds);
00066
00068 virtual bool isResponsePending() const;
00069
00074 virtual const DtSequenceNumberSet& pendingCommands() const;
00075
00078 virtual void clearPendingCommand(DtSequenceNumber number=0);
00079
00081 virtual const DtString& boolToString(bool value) const;
00082
00083 protected:
00084
00085 int myDomainId;
00086 DtString myDomainName;
00087 DtRemoteControlInterface* myInterface;
00088 DtEntityIdSet mySourcesPendingResponse;
00089 DtSequenceNumberSet myPendingCommands;
00090 DtLgrCommandId myLastSentCommand;
00091 const DtString myTrueString;
00092 const DtString myFalseString;
00093 };
00094 }