logger.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #ifndef logger_H_
00010 #define logger_H_
00011 
00012 #include "lgrCore.h"
00013 #include "virtualConstructor.h"
00014 #include <vlutil/vlSmartPointers.h>
00015 #include <list>
00016 #include <absoluteTime.h>
00017 
00018 namespace MAKLogger
00019 {
00020 
00021    class DtCommand;
00022    class DtLgrDynamicLibrary;
00023    class DtLgrCommandHandler;
00024    class DtLgrCommandType;
00025    class DtLgrProtocolRegistration;
00026    class DtLgrSimManager;
00027    class DtLgrSystemDriver;
00028 
00029    typedef std::list<DtBoost::shared_ptr<DtLgrDynamicLibrary> > DtLibraryList;
00030    typedef DtBoost::shared_ptr<DtLgrCommandHandler> DtLgrCommandHandlerSP;
00031 
00035    class DT_DLL_LGRCORE DtLogger
00036    {
00037    public:
00038 
00039       DT_VIRTUAL_CTR(DtLogger,())
00040 
00041       virtual ~DtLogger();
00042 
00048       virtual void init();
00049 
00054       virtual void registerSimulationProtocol(DtLgrProtocolRegistration* );
00055 
00057       virtual const DtLgrProtocolRegistration* simulationProtocol() const;
00058 
00066       virtual bool tick();
00067 
00069       virtual DtRelativeTime tickTime() const;
00070 
00072       virtual void setTickTime(DtRelativeTime time);
00073 
00080       virtual void submitCommand(const DtCommand& command);
00081 
00083       virtual DtLgrCommandHandlerSP getCommandHandler(const DtLgrCommandType& type) const;
00084 
00086       virtual const DtLibraryList&  libraries() const;
00087 
00089       virtual DtLgrSimManager* simManager();
00090 
00092       DtLgrSystemDriver& driver();
00093 
00094    protected:
00095 
00096       DtLgrProtocolRegistration* myRegistration;
00097 
00100       DtLgrSystemDriver* myDriver;
00101 
00103       DtRelativeTime myTickTime;
00104 
00105    protected:
00106 
00108       static DtRelativeTime theDefaultTickTime;
00109    };
00110 
00111 }
00112 
00113 #endif
00114 

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)