9 #ifndef exerciseConnHLA_H_
10 #define exerciseConnHLA_H_
70 typedef void (*DtRtiErrorCb)(
const char* label,
void* usr);
77 typedef DtTime (*DtLogicalTimeToVrlTimeConverter) (
const RTI::LogicalTime &theLogicalTime);
78 typedef std::auto_ptr<RTI::LogicalTime>(*DtVrlTimeToLogicalTimeConverter) (
const DtTime &time);
80 typedef DtTime (*DtFedTimeToVrlTimeConverter) (
const RTI::FedTime &theFedTIme);
81 typedef RTI::FedTime* (*DtVrlTimeToFedTimeConverter) (
const DtTime &time);
95 DtCOULD_NOT_CREATE_RTIAMB = 1,
96 DtCOULD_NOT_CREATE_FEDEX = 2,
97 DtCOULD_NOT_JOIN_FEDEX = 3,
98 DtCOULD_NOT_OPEN_FED = 4,
99 DtCOULD_NOT_PARSE_FED = 5,
100 DtCOULD_NOT_FIND_FOMMAPPER = 6,
101 DtERROR_OPENING_FOMMAPPER_LIB = 7,
102 DtCOULD_NOT_CONNECT_RTIAMB = 8
124 const char* federateType,
126 const char* fedFileName = 0,
127 InitializationStatus* status = 0
138 const char* federateType,
140 const char* fedFileName = 0,
141 void* fomMapInitData = 0,
142 InitializationStatus* status = 0
145 #if DtHLA_1516_EVOLVED
164 const char* federateName,
165 const char* federateType,
169 const std::vector<DtString>& fomModules = std::vector<DtString>(),
170 InitializationStatus* status = 0 );
185 const char* federateName,
186 const char* federateType,
189 void* fomMapInitData = 0,
191 const std::vector<DtString>& fomModules = std::vector<DtString>(),
192 InitializationStatus* status = 0 );
217 virtual void setReflecting();
220 virtual bool reflecting()
const;
228 virtual void setPassiveMode();
231 virtual bool passiveMode()
const;
252 virtual void setReflectRemoteUpdatesIntoPubFlag(
bool onff);
255 virtual bool reflectRemoteUpdatesIntoPubFlag()
const;
261 virtual void setReflectingThroughRti();
264 virtual bool reflectingThroughRti()
const;
275 virtual void ignoreAdvisories();
278 virtual bool usingAdvisories()
const;
280 virtual void setRemoveObjectOnAttOutOfScope(
bool remove);
288 virtual bool enabledGenericAttributes()
const;
290 #if DtHLA_1516_EVOLVED
291 void listFederationExecutions();
312 const RTI::RegionHandleSet* region);
315 const RTI::Region* region);
342 const RTI::RegionHandleSet* region);
345 const RTI::Region* region);
350 virtual DtTime currentTimeForStamping();
366 virtual int drainInput(
DtTime maxTime = -1,
DtTime minTime = 0.0);
383 virtual RTI::FederateHandle fedHandle()
const;
386 virtual const DtString& fedType()
const;
388 #if DtHLA_1516_EVOLVED
389 virtual const DtString& fedName()
const;
395 virtual const DtString& execName()
const;
398 virtual bool isUsingMakRti()
const;
408 virtual DtString rtiVersion()
const;
415 virtual DtFom* fom();
439 virtual void addInteractionCallback(RTI::InteractionClassHandle h,
448 virtual void addInteractionCallbackByName(
const char* className,
457 virtual void removeInteractionCallback(RTI::InteractionClassHandle h,
466 virtual void removeInteractionCallbackByName(
const char* className,
472 virtual void addDiscoverObjectCallback(RTI::ObjectClassHandle h,
479 virtual void removeDiscoverObjectCallback(RTI::ObjectClassHandle h,
485 virtual void addRemoveObjectCallback(
487 RTI::ObjectInstanceHandle
id,
497 virtual void removeRemoveObjectCallback(
499 RTI::ObjectInstanceHandle
id,
509 virtual void setDestroyFedExecFlag(
bool flag);
512 virtual bool destroyFedExecFlag();
517 virtual void setReplyingToSynchronizationPoints(
bool yesNo);
520 virtual bool replyingToSynchronizationPoints();
524 virtual void replyToSynchronizationPoint(
const char* label);
530 virtual void setAutoSubscribeFlag(
bool flag);
533 virtual bool autoSubscribeFlag()
const;
537 virtual void setSendFedTime(
bool flag);
540 virtual bool sendFedTime()
const;
549 virtual void setUseGeographicDdm(
bool flag);
553 virtual bool useGeographicDdm()
const;
555 virtual void setDeleteOnOutOfScope(
bool yesNo);
557 virtual bool deleteOnOutOfScope()
const;
560 virtual RTI::LogicalTimeFactory *logicalTimeFactory()
const;
567 virtual void registerSynchronizationPoint(
const DtString& label);
570 virtual void registerSynchronizationPoint(
573 const RTI::VariableLengthData& tag);
579 virtual void addFederateSaveCb(
const DtString& label,
584 virtual void addFederateRestoreCb(
const DtString& label,
589 virtual void removeFederateSaveCb(
const DtString& label,
594 virtual void removeFederateRestoreCb(
const DtString& label,
600 virtual void addSynchPointRegistrationSucceededCb(
const DtString& label,
604 virtual void addSynchPointRegistrationSucceededCb(
DtSynchPointCb func,
609 virtual void removeSynchPointRegistrationSucceededCb(
const DtString& label,
613 virtual void removeSynchPointRegistrationSucceededCb(
DtSynchPointCb func,
617 virtual void addSynchPointRegistrationFailedCb(
const DtString& label,
621 virtual void addSynchPointRegistrationFailedCb(
DtSynchPointCb func,
625 virtual void removeSynchPointRegistrationFailedCb(
const DtString& label,
629 virtual void removeSynchPointRegistrationFailedCb(
DtSynchPointCb func,
633 virtual void addFederationSynchedCb(
const DtString& label,
641 virtual void removeFederationSynchedCb(
const DtString& label,
653 virtual void addRtiErrorCb(
const DtString& label, DtRtiErrorCb func,
655 virtual void removeRtiErrorCb(
const DtString& label, DtRtiErrorCb func,
657 virtual void addRtiErrorCb(DtRtiErrorCb func,
void* usr);
658 virtual void removeRtiErrorCb(DtRtiErrorCb func,
void* usr);
661 #if DtHLA_1516_EVOLVED
672 virtual void addAnnounceSynchPointCb(
const DtString& label,
682 virtual void removeAnnounceSynchPointCb(
const DtString& label,
713 virtual void setObjectTagModifier(
const DtString& className,
724 virtual void setInteractionTagModifier(
const DtString& className,
747 virtual bool isInitialized()
const;
752 static void setLogicalTimeFactoryFactoryParameter(std::wstring);
758 static std::wstring logicalTimeFactoryFactoryParameter();
760 static void setFedAmbCreator(DtFedAmbCreator creator);
766 static DtFedAmbCreator fedAmbCreator();
771 static void setRtiAmbCreator(DtRtiAmbCreator creator);
774 static DtRtiAmbCreator rtiAmbCreator();
780 static void overrideRidParameters(
const std::map<DtString, DtString>& ridParams);
790 static void setFomMapperCreator(DtFomMapperCreator creator,
794 static DtFomMapperCreator fomMapperCreator();
807 static void setLogicalTimeToVrlTimeConverter(DtLogicalTimeToVrlTimeConverter func);
808 static DtLogicalTimeToVrlTimeConverter logicalTimeToVrlTimeConverter();
810 static void setFedTimeToVrlTimeConverter(DtFedTimeToVrlTimeConverter func);
811 static DtFedTimeToVrlTimeConverter fedTimeToVrlTimeConverter();
821 static void setVrlTimeToLogicalTimeConverter(DtVrlTimeToLogicalTimeConverter func);
822 static DtVrlTimeToLogicalTimeConverter vrlTimeToLogicalTimeConverter();
824 static void setVrlTimeToFedTimeConverter(DtVrlTimeToFedTimeConverter func);
825 static DtVrlTimeToFedTimeConverter vrlTimeToFedTimeConverter();
835 static DtTime defaultDtLogicalTimeToVrlTimeConverter(
const RTI::LogicalTime &time);
837 static DtTime defaultDtFedTimeToVrlTimeConverter(
const RTI::FedTime &time);
842 static std::auto_ptr<RTI::LogicalTime> defaultVrlTimeToLogicalTimeConverter(
845 static RTI::FedTime* defaultVrlTimeToFedTimeConverter(
const DtTime &time);
854 virtual bool callRtiErrorCallback(
DtString &label);
860 bool checkRtiVersionForPointerAlignment();
863 void initializeConnection(InitializationStatus* result);
867 void initializeFomMapper(
const char* dsoName,
void* fomMapInitData,
868 InitializationStatus* result);
874 DtFomMapperCreator* creator,
875 DtFomMapperDeletor* deletor);
880 void handleFedFile(
const DtString& fedFileName);
886 int initFom(InitializationStatus* result);
891 int createRtiAmb(InitializationStatus* result);
898 int connectRtiAmb(InitializationStatus* result);
904 int createFedEx(InitializationStatus* result);
908 int createFedAmb(InitializationStatus* result);
913 int joinFedEx(InitializationStatus* result);
918 bool fedFileExists(
const DtFilename &name)
const;
920 #if DtHLA_1516_EVOLVED
921 void setFomModules(
const std::vector<DtString>& modules);
926 void resignAndDisconnect();
933 virtual void rtiSend(
DtInteraction& msg, RTI::InteractionClassHandle handle,
934 const RTI::RegionHandleSet* region);
936 virtual void rtiSend(
DtInteraction& msg, RTI::InteractionClassHandle handle,
937 const RTI::Region* region);
942 virtual void selfReflectInteraction(
DtInteraction& msg, RTI::InteractionClassHandle handle,
943 const RTI::RegionHandleSet* region);
945 virtual void selfReflectInteraction(
DtInteraction& msg, RTI::InteractionClassHandle handle,
946 const RTI::Region* region);
952 static void replyToSyncPointCallback(
void* usr);
972 #if DtHLA_1516_EVOLVED
1017 #if DtHLA_1516_EVOLVED
1028 #if DtHLA_1516_EVOLVED
1029 std::vector<std::wstring> myFomModules;
1030 std::wstring myMimFomModule;
1032 std::wstring myLocalSettingsDesignator;
1070 static DtVrlTimeToFedTimeConverter theVrlTimeToFedTimeConverter;
1071 static DtFedTimeToVrlTimeConverter theFedTimeToVrlTimeConverter;
1101 #if DtHLA_1516_EVOLVED
1102 inline const DtString& DtExerciseConn::fedName()
const
bool myDeleteOnOutOfScope
Definition: exerciseConnHLA.h:1016
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
Contains the HLA DtExerciseConnInitializer class declaration.
virtual void setDeleteOnOutOfScope(bool yesNo)
Definition: exerciseConnHLA.h:1139
DtVRLinkStateManager * myVrlStateManager
Definition: exerciseConnHLA.h:1056
bool myDestroyFedExFlag
Definition: exerciseConnHLA.h:1000
void * userData
Definition: exerciseConnHLA.h:959
bool myReflectRemoteUpdatesIntoPubFlag
Definition: exerciseConnHLA.h:1006
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
A protocol independent (HLA13/HLA1516) file for the VR-Link FedAmb.
DtString myFedType
Definition: exerciseConnHLA.h:971
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtExerciseConnInitializer are used to provide the DtExerciseConn with initialization dat...
Definition: exerciseConnInitializerHLA.h:41
static void * theFomMapInitData
Definition: exerciseConnHLA.h:1065
DtExerciseConnInitializer::DtGetValueMethod myGetValueMethod
Definition: exerciseConnHLA.h:1012
DtFomMapperCreator myDsoCreator
Definition: exerciseConnHLA.h:994
DtBaseExerciseConn & operator=(const DtBaseExerciseConn &)
Assignment Operator – Not Implemented.
static DtVrlTimeToLogicalTimeConverter theVrlTimeToLogicalTimeConverter
Definition: exerciseConnHLA.h:1067
Instances of DtVrlFederateAmbassador are used to manage the interface between the RTI and the VR-Link...
Definition: vrlFederateAmbassador1516.h:46
virtual RTI::FederateHandle fedHandle() const
Get the federate handle.
Definition: exerciseConnHLA.h:1096
DtFomMapperDeletor myDsoDeletor
Definition: exerciseConnHLA.h:995
void(* DtDiscoverObjectCb)(DtHlaObject *obj, void *usr)
Definition: discoverObjectCbInfo.h:20
DtRtiErrorCb cbFunction
Definition: exerciseConnHLA.h:958
virtual DtVrlRtiAmbassador * rtiAmb()
Get the RTI ambassador.
Definition: exerciseConnHLA.h:1076
static DtFomMapperCreator theFomMapperCreator
Definition: exerciseConnHLA.h:1063
DtBaseExerciseConn is an abstract base class.
Definition: baseExerciseConn.h:31
This file provides a definition of GeodeticCoords and several helper functions.
Instances of DtGeodeticCoord are used to explicitly represent Geodetic coordinates.
Definition: geodeticCoord.h:30
This file declares macros which specify the VR-Link version.
DtTimeStampType myRelOrAbs
Definition: exerciseConnHLA.h:998
DtHlaObjectManager * myHlaObjectManager
Definition: exerciseConnHLA.h:988
Represents a particular FOM, as described by a FED file.
Definition: fom.h:39
bool mySendFedTimeFlag
Definition: exerciseConnHLA.h:1011
bool myPauseOnSaveRestore
Definition: exerciseConnHLA.h:1013
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region1516.h:29
DtGeodeticCoord myDdmPlayBoxLowerBound
The lower bound of the play box - or total simulation area - when using geographic DDM...
Definition: exerciseConnHLA.h:1046
void(* DtSynchPointCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador1516.h:31
DtString myFedFile
myFedFile is used to specify a Fed File for the federation.
Definition: exerciseConnHLA.h:1026
virtual void sendStamped(const DtStateMsg &msg)=0
Send a state message to the network which has been time stamped with the current time.
bool myUseGeographicDdm
Definition: exerciseConnHLA.h:1015
DtFomMapper * myFomMapper
Definition: exerciseConnHLA.h:992
Contains the DtVRLinkStateStateRepository class declaration.
void * userData
Definition: exerciseConnHLA.h:966
void(* DtReceiveInteractionCb)(DtInteraction *inter, void *usr)
Definition: receiveInteractionCbInfo.h:23
ObjectInstanceHandle ObjectHandle
Definition: rtiCompatibility.h:192
Instances of DtInteractionFactory are used to create derived DtInteractions based on Interaction Clas...
Definition: interactionFactory.h:29
Contains the DtRprFomMapper class declaration.
DtEventID myCurrentEventId
Definition: exerciseConnHLA.h:997
virtual void send(const DtStateMsg &msg)=0
Send a state message to the network.
DtVrlFederateAmbassador * myFedAmb
Definition: exerciseConnHLA.h:984
DtVrlRtiAmbassador * myRtiAmb
Definition: exerciseConnHLA.h:982
class DtInteractionManager:
Definition: interactionManager.h:25
InitializationStatus
Initialization Error Enumerations.
Definition: exerciseConnHLA.h:93
DtString label
Definition: exerciseConnHLA.h:964
virtual void setSendFedTime(bool flag)
Set flag which determines whether to use Time Stamp Order when sending and receiving interactions...
Definition: exerciseConnHLA.h:1119
std::auto_ptr< RTI::LogicalTimeFactory > myLogicalTimeFactory
Definition: exerciseConnHLA.h:980
virtual DtHlaObjectManager * hlaObjectManager()
Get the hlaObjectManager.
Definition: exerciseConnHLA.h:1086
Represents Events in the RPR FOM.
Definition: eventId.h:52
virtual void setUseGeographicDdm(bool flag)
Set flag which indicates geographic whether Geographic DDM is to be used or not.
Definition: exerciseConnHLA.h:1129
RTI::VariableLengthData myTag
Definition: exerciseConnHLA.h:1038
DtVRLExecutionStatus
Definition: vrlinkStateStateRepository.h:29
RTI::FederateHandle myFedHandle
Definition: exerciseConnHLA.h:983
static DtRtiAmbCreator theRtiAmbCreator
Definition: exerciseConnHLA.h:1062
bool myReplyingToSynchronizationPoints
Definition: exerciseConnHLA.h:1008
bool myAutoSubscribeFlag
Definition: exerciseConnHLA.h:1010
Instances of DtFilename are DtStrings which convert filenames to the native format.
Definition: vlFilename.h:20
bool myReflecting
Definition: exerciseConnHLA.h:1005
virtual const DtString & execName() const
Get the federation execution name.
Definition: exerciseConnHLA.h:1113
static std::wstring myLogicalTimeFactFactParam
Definition: exerciseConnHLA.h:1060
std::list< DtGeneralRtiErrorCbInfo > myRtiErrorCbList
Definition: exerciseConnHLA.h:1053
DtGeodeticCoord myDdmPlayBoxUpperBound
The upper bound of the play box - or the total simulation area - when using geographic DDM...
Definition: exerciseConnHLA.h:1051
Contains the DtNetnFomMapper class declaration.
bool myPassiveMode
Definition: exerciseConnHLA.h:1004
static DtFomMapper * theDefaultFomMapper
Definition: exerciseConnHLA.h:1064
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerHLA.h:27
std::vector< std::wstring > myRtiArguments
Definition: exerciseConnHLA.h:1034
DtDynamicLibrary provides an operating independent way to manipulate dynamically loaded libraries...
Definition: vlDynamic.h:23
DtOwnershipHandler * myOwnershipHandler
Definition: exerciseConnHLA.h:990
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
DtString myExecName
Definition: exerciseConnHLA.h:969
bool myGenericAttributes
Definition: exerciseConnHLA.h:1003
std::list< DtLabelledRtiErrorCbInfo > myLabRtiErrorCbList
Definition: exerciseConnHLA.h:1054
DtRtiErrorCb cbFunction
Definition: exerciseConnHLA.h:965
DtFom * myFom
Definition: exerciseConnHLA.h:986
DtBoost::shared_ptr< DtInteractionTagModifier > DtInteractionTagModifierSP
Shared pointer typedefs for ease of use.
Definition: userTagModifiers.h:34
Instances of DtVRLinkStateManager use a list of DtReflectedVRLinkState objects to exercise initializa...
Definition: vrlinkStateManager.h:28
DtTimeStampType
Definition: vlTimeStampType.h:16
bool myReflectingThroughRti
Definition: exerciseConnHLA.h:1007
Definition: exerciseConnHLA.h:956
virtual const DtString & fedType() const
Returns the specified type of the federate.
Definition: exerciseConnHLA.h:1108
virtual bool sendFedTime() const
Get the send fed time flag. See above description.
Definition: exerciseConnHLA.h:1124
Instances of DtVrlRtiAmbassador are for wrapping the calls to The RTI ambassador so that we may overr...
Definition: vrlRtiAmbassador1516.h:25
DtReal DtTime
A definition of DtTime.
Definition: vlTime.h:19
Contains the DtEventId class declaration.
DtDynamicLibrary * myFomMapperDso
Definition: exerciseConnHLA.h:993
Instances of DtString are used to represent strings.
Definition: vlString.h:29
bool myUseFomMapperDeletor
Definition: exerciseConnHLA.h:1001
This file provides protocol independence for the DtVrlRtiAmbassador class.
DtBoost::shared_ptr< DtObjectTagModifier > DtObjectTagModifierSP
Shared pointer typedefs for ease of use.
Definition: userTagModifiers.h:33
This file provides a declaration of the class DtBaseExerciseConn.
virtual DtFom * fom()
Get the FOM.
Definition: exerciseConnHLA.h:1091
Definition: exerciseConnHLA.h:962
virtual bool deleteOnOutOfScope() const
Definition: exerciseConnHLA.h:1144
Instances of DtFomMapper are used to provide FOM agility in VR-Link by mapping VR-Link classes and fu...
Definition: fomMapper.h:36
DtInteractionManager * myInteractionManager
Definition: exerciseConnHLA.h:989
class DtStateMsg:
Definition: stateMsgHLA.h:32
This file is used as a convenience to group RTI related callbacks together.
Instances of DtHlaObjectFactory are used to create HLA objects.
Definition: hlaObjectFactory.h:20
This file contains declarations of the classes DtObjectTagModifier and DtInteractionTagModifier.
static DtLogicalTimeToVrlTimeConverter theLogicalTimeToVrlTimeConverter
Definition: exerciseConnHLA.h:1068
void(* DtFederateSaveCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador1516.h:23
void(* DtConnectionLostCb)(const std::wstring &faultDescription, void *theUserData)
Definition: connectionLostCbList.h:21
bool myUsingAdvisories
Definition: exerciseConnHLA.h:1009
DtString myRtiError
used to save the Rti error incurred during connection init stage
Definition: exerciseConnHLA.h:1023
static DtFedAmbCreator theFedAmbCreator
Definition: exerciseConnHLA.h:1061
virtual DtVrlFederateAmbassador * fedAmb()
Get the federate ambassador.
Definition: exerciseConnHLA.h:1081
void(* DtRemoveObjectCb)(DtHlaObject *obj, void *usr)
Definition: removeObjectCbInfo.h:22
virtual bool useGeographicDdm() const
Returns whether this federate is using Geographic DDM.
Definition: exerciseConnHLA.h:1134
void(* DtAnnounceSynchPointCb)(const char *label, const RTI::VariableLengthData &tag, void *usr)
Definition: vrlFederateAmbassador1516.h:35
DtGetValueMethod
Indicate if getValue or getValuePointer should be used to retrieve data from handleValuePairSets.
Definition: exerciseConnInitializerHLA.h:47