Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef lgrSimInput_H_
00010 #define lgrSimInput_H_
00011
00012 #include "lgrCore.h"
00013 #include "messageInput.h"
00014 #include "packet.h"
00015
00016 namespace MAKLogger
00017 {
00018 class DtLgrSimManager;
00019
00022 class DT_DLL_LGRCORE DtLgrSimInput : public DtMessageInput
00023 {
00024 public:
00025
00027 virtual ~DtLgrSimInput();
00028
00030 virtual void activate();
00032 virtual void activateImplementation() = 0;
00033
00035 virtual bool isActivated() const;
00036
00038 virtual void deactivate();
00040 virtual void deactivateImplementation() = 0;
00041
00043 virtual void getNextMessages(DtMessageBuffer&);
00044
00046 virtual void dropNextMessages();
00047
00049 virtual bool receivedPackets();
00050
00052 virtual void disconnecting() = 0;
00053
00054 virtual DtLgrEntityTracker* entityTracker();
00055
00056 virtual void initializeTracker(DtLgrBaseSimManager* manager);
00057
00058 protected:
00059
00061 DtLgrSimInput(DtLgrSimManager& manager);
00062
00064 virtual DtPacket* createPacket(size_t size,DtPacket::DtPacketType type );
00065
00067 virtual void receivePacket(DtPacket* packet);
00068
00070 virtual void filterPacket(DtPacket* packet);
00071
00072 bool myReceivePacketsFlag;
00073 static const int theSmartBufferSize = 65536;
00074 DtMessageBuffer* myReceiveBuffer;
00075 DtSmartBuffer* mySmartBuffer;
00076 DtLgrSimManager& myManager;
00077 bool myActivateFlag;
00078 };
00079
00080 }
00081
00082 #endif