lgrHlaSimInterface.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 lgrHlaSimInterface_H_
00011 #define lgrHlaSimInterface_H_
00012 
00013 #if DtHLA
00014 
00015 #include "lgrSim.h"
00016 #include "lgrSimInterface.h"
00017 #include "virtualConstructor.h"
00018 
00019 #include <vector>
00020 #include <vlutil/vlString.h>
00021 
00022 namespace MAKLogger
00023 {
00024    class DtBaseFomDesc;
00025    class DtLogger;
00026    class DtLgrHlaSimDriver;
00027    class DtLgrHlaCommandFactory;
00028 
00029 
00033    class DT_DLL_LGRSIM DtLgrHlaSimInterface : public DtLgrSimInterface
00034    {
00035    public:
00036 
00037       typedef DtLgrHlaCommandFactory Factory;
00038 
00040       static DtLgrHlaSimInterface* create(DtLogger&);
00041 
00043       static DtLgrSimInterface* createBase(DtLogger&);
00044 
00047       static DtLgrHlaSimInterface* createNonThreadsafe(DtLogger& logger,
00048          const DtLgrHlaSimDriver& driver);
00049 
00050    public:
00051 
00052       virtual ~DtLgrHlaSimInterface();
00053 
00055       virtual void setConnectionParameters(const DtString& federateName,
00056 #if DtHLA_1516_EVOLVED
00057          const DtString& federateType,
00058 #endif
00059          const DtString& federationName,
00060          const DtString& fedFile,
00061 #if DtHLA_1516_EVOLVED
00062          const std::vector<DtString>& fomModules,
00063          const DtString& mim,
00064 #endif
00065          bool ignoreAdvisories, double fomVersion, int fomRevision, const DtString& fomMapper,
00066          const DtString& fomMapperInitData, bool useEmptyFomMapper) const;
00067 
00069       virtual void setSubscriptionLists(const std::vector<DtString>& objectClasses,
00070          const std::vector<DtString>& interactionClasses) const;
00071 
00074       virtual DtString protocol() const;
00075 
00077       virtual void getLoggerName(DtString& name) const;
00078 
00080       virtual double fomVersion() const;
00081 
00083       virtual int fomRevision() const;
00084 
00086       virtual const DtString& fomMapper() const;
00087 
00089       virtual const DtString& fomMapperInitData() const;
00090 
00092       virtual const DtString& federateName() const;
00093 
00095       virtual const DtString& federationName() const;
00096 
00098       virtual const DtString& fedFile() const;
00099 
00100 #if DtHLA_1516_EVOLVED
00101 
00103       virtual const DtString& federateType() const;
00104 
00106       virtual const std::vector<DtString>& fomModules() const;
00107 
00109       virtual const DtString& mim() const;
00110 
00111 #endif // DtHLA_1516_EVOLVED
00112 
00114       virtual const DtBaseFomDesc* fomDescription() const;
00115 
00117       virtual const std::vector<DtString>& objectSubscriptionList() const;
00118 
00120       virtual const std::vector<DtString>& interactionSubscriptionList() const;
00121 
00123       virtual const bool isTimeConstrained() const;
00124 
00126       virtual const bool isTimeRegulating() const;
00127 
00129       virtual const double lookAhead() const;
00130 
00132       virtual bool timeManagementEnabled() const;
00133 
00135       virtual double drainInputMaxTime() const;
00136 
00138       virtual double drainInputMinTime() const;
00139 
00141       virtual const void setDrainInputSettings(double maxTime, double minTime) const;
00142 
00144       virtual bool ignoreAdvisories() const;
00145 
00147       virtual bool useEmptyFomMapper() const;
00148 
00150       virtual const void setTimeManagementSettings(bool constrainedRecording,
00151          bool constrainedPlayback,bool regulatingRecording, bool regulatingPlayback,
00152          double lookahead) const;
00153 
00155       virtual bool timeConstrainedRecording() const;
00156 
00158       virtual bool timeConstrainedPlayback() const;
00159 
00161       virtual bool timeRegulatingRecording() const;
00162 
00164       virtual bool timeRegulatingPlayback() const;
00165 
00166    protected:
00167 
00169       DtLgrHlaSimInterface(DtLogger& logger, const DtLgrHlaSimDriver& driver);
00170 
00172       void connectResponseHandler(DtLgrCommandId id,
00173          void (DtLgrHlaSimInterface::* function)(DtResponse));
00174 
00176 
00177 
00178       void connectionParametersChanged(DtResponse);
00179       void fomChanged(DtResponse);
00180       void subscriptionListsChanged(DtResponse);
00181       void timeManagementSettingsChanged(DtResponse);
00182       void timeManagementEnabledChanged(DtResponse);
00183       void drainInputSettingsChanged(DtResponse);
00184       void ignoreAdvisoriesChanged(DtResponse response);
00186 
00187 
00188    protected:
00189       double myFomVersion;
00190       int myFomRevision;
00191       DtString myFomMapper;
00192       DtString myFomMapperData;
00193       DtString myFederateName;
00194       DtString myFederationName;
00195       DtString myFedFile;
00196 #if DtHLA_1516_EVOLVED
00197       DtString myFederateType;
00198       std::vector<DtString> myFomModules;
00199       DtString myMim;
00200 #endif
00201       DtBaseFomDesc* myFomDescription;
00202       std::vector<DtString> myObjectSubscriptionList;
00203       std::vector<DtString> myInteractionSubscriptionList;
00204       bool myIsTimeConstrainedFlag;
00205       bool myIsTimeRegulatingFlag;
00206       double myLookAhead;
00207       bool myTimeManagedEnabledFlag;
00208       double myDrainInputMaxTime;
00209       double myDrainInputMinTime;
00210       bool myIgnoreAdvisories;
00211       bool myUseEmptyFomMapper;
00212 
00213       bool myTimeConstrainedRecording;
00214       bool myTimeRegulatingRecording;
00215       bool myTimeConstrainedPlayback;
00216       bool myTimeRegulatingPlayback;
00217 
00218    };
00219 
00220 }
00221 
00222 #endif
00223 
00224 #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)