lgrSimOutput.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 lgrSimOutput_H_
00011 #define lgrSimOutput_H_
00012 
00013 #include "lgrCore.h"
00014 #include "messageOutput.h"
00015 
00016 namespace MAKLogger
00017 {
00018 
00019    class DtLgrSimManager;
00020    class DtLgrImmediateSender;
00021    class DtLgrRetainedSender;
00022 
00025    class DT_DLL_LGRCORE  DtLgrSimOutput : public DtMessageOutput
00026    {
00027    public:
00028 
00030       DtLgrSimOutput(DtLgrSimManager& manager);
00031 
00033       virtual ~DtLgrSimOutput();
00034 
00035    private:
00037       DtLgrSimOutput(const DtLgrSimOutput&);
00039       DtLgrSimOutput& operator=(const DtLgrSimOutput&);
00040 
00041    public:
00043       virtual void activate(const DtMessageInput* msgInput);
00044 
00046       virtual void activateImplementation() = 0;
00047 
00049       virtual bool isActivated() const;
00050 
00052       virtual void deactivate();
00053 
00055       virtual void deactivateImplementation() = 0;
00056 
00058       virtual bool outputPacket(const DtPacket& packet);
00059 
00061       virtual void filterMessage(DtPacket* packet);
00063       virtual void filterMessageAllowingCheckpoints(DtPacket* packet);
00064 
00066       virtual bool sentPackets();
00067 
00068 
00069       enum PacketSenderType
00070       {
00071          Immediate,
00072          Retained,
00073          NotSent
00074       };
00075 
00077       virtual PacketSenderType packetSenderType(const DtPacket&) const = 0;
00078 
00079    protected:
00081       virtual void immediateSend(const DtPacket&) const = 0;
00082 
00084       virtual void retainedSend(const DtPacket&) = 0;
00085 
00087       void sendPacket(const DtPacket&);
00088 
00089       bool mySentPacketsFlag;
00090       DtLgrSimManager& myManager;
00091       bool myActivateFlag;
00092    };
00093 
00094 }
00095 
00096 #endif
00097 

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)