lgrHlaSimDriver.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #if DtHLA
00010 
00011 #ifndef lgrHlaSimDriver_H_
00012 #define lgrHlaSimDriver_H_
00013 
00014 #include "lgrSim.h"
00015 #include "lgrSimDriver.h"
00016 #include "lgrCommandDispatcher.h"
00017 #include "lgrExceptions.h"
00018 #include "virtualConstructor.h"
00019 
00020 #include <map>
00021 
00022 namespace MAKLogger
00023 {
00024    class DtLgrOnlineFomDesc;
00025    class DtCommand;
00026    class DtLgrHlaCommandFactory;
00027    class DtLgrHlaSimulationManager;
00028    class DtLgrHlaSimInterface;
00029    class DtLgrSimDriver;
00030    class DtMessagePipeline;
00031    class DtLgrSystemDriver;
00032    class DtLgrHlaFilterByClass;
00033 
00036    class DT_DLL_LGRSIM DtLgrHlaSimDriver : public DtLgrSimDriver
00037    {
00038    public:
00039 
00040       typedef DtLgrHlaCommandFactory Factory;
00041       typedef DtLgrHlaSimInterface Interface;
00042 
00043       DT_VIRTUAL_CTR(DtLgrHlaSimDriver,(DtLgrSystemDriver&))
00044 
00045       virtual ~DtLgrHlaSimDriver();
00046 
00050       virtual void tick();
00051 
00053       bool releasePipeline();
00054 
00056       bool getPipeline();
00057 
00059       bool hasPipeline() const;
00060 
00062 
00063       virtual DtLgrSimManager* simManager();
00064       virtual const DtLgrSimManager* simManager() const;
00066 
00068 
00069       virtual DtLgrHlaSimulationManager* hlaSimManager();
00070       virtual const DtLgrHlaSimulationManager* hlaSimManager() const;
00072 
00074       virtual const DtString& federateName() const;
00075 
00077       virtual const DtString& federationName() const;
00078 
00080       virtual const DtString& fedFile() const;
00081 
00082 #if DtHLA_1516_EVOLVED
00083 
00085       virtual const DtString& federateType() const;
00086 
00088       virtual const std::vector<DtString>& fomModules() const;
00089 
00091       virtual const DtString& mim() const;
00092 
00093 #endif // DtHLA_1516_EVOLVED
00094 
00096       virtual const DtString& fomMapper() const;
00097 
00099       virtual const DtString& fomMapperData() const;
00100 
00102       virtual double fomVersion() const;
00103 
00105       virtual int fomRevision() const;
00106 
00108       virtual bool ignoreAdvisories() const;
00109 
00111       virtual bool isConnected() const;
00112 
00114       virtual const DtLgrOnlineFomDesc* connectedFomDescription() const;
00115 
00117       virtual std::vector<DtString> objectSubscriptionList() const;
00118 
00120       virtual std::vector<DtString> interactionSubscriptionList() const;
00121 
00124       virtual void updateTimeManagement();
00125 
00127       virtual DtLgrSystemDriver* systemDriver();
00128       virtual const DtLgrSystemDriver* systemDriver() const;
00129 
00130    protected:
00131 
00133       virtual DtResponse setConnectionParameters(const DtCommand& command);
00134 
00136       virtual DtResponse setTimeManagement(const DtCommand& command);
00137 
00139       virtual DtResponse setDrainInputSettings(const DtCommand& command);
00140 
00142       virtual DtResponse connect(const DtCommand& command);
00143 
00145       virtual DtResponse connectShared(const DtCommand& command);
00146 
00148       virtual DtResponse disconnect(const DtCommand& command);
00149 
00150       // Update the remote control filter based on the record remote control setting
00151       virtual void updateRecordRemoteControlFilter();
00152 
00154       virtual DtResponse setPassiveSubscription(const DtCommand& command);
00155 
00157       virtual DtResponse setIgnoreAdvisories(const DtCommand& command);
00158 
00160       virtual DtResponse loadSubscriptionListFile(const DtCommand& command);
00161 
00163       virtual DtResponse loadPublicationListFile(const DtCommand& command);
00164 
00166       virtual DtResponse saveSubscriptionListFile(const DtCommand& command);
00167 
00169       virtual DtResponse setSubscriptionLists(const DtCommand& command);
00170 
00172       virtual DtResponse setDisableTimeManagmentTest(const DtCommand& command);
00173 
00175       virtual DtResponse setDynamicNamePrefix(const DtCommand& command);
00176 
00178       virtual DtResponse setDdmParameters(const DtCommand& command);
00179 
00180    protected:
00181       DtString myFederateName;
00182       DtString myFederationName;
00183       DtString myFedFile;
00184 #if DtHLA_1516_EVOLVED
00185       DtString myFederateType;
00186       std::vector<DtString> myFomModules;
00187       DtString myMim;
00188 #endif // DtHLA_1516_EVOLVED
00189       DtString myFomMapper;
00190       DtString myFomMapperData;
00191       double   myFomVersion;
00192       int      myFomRevision;
00193       bool     myConnectOnStart;
00194       bool     myUseEmptyFomMapper;
00195       bool     myIgnoreAdvisories;
00196 
00197       DtLgrHlaSimulationManager* mySimManager;
00198       DtLgrSystemDriver* mySystemDriver;
00199       DtLgrHlaFilterByClass* myClassFilter;
00200    };
00201 
00202 }
00203 
00204 #endif
00205 #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)