9 #ifndef exerciseConnHLA_H_
10 #define exerciseConnHLA_H_
69 typedef void (*DtRtiErrorCb)(
const char* label,
void* usr);
77 typedef std::auto_ptr<RTI::LogicalTime>(*DtVrlTimeToLogicalTimeConverter) (
const DtTime &time);
79 typedef DtTime (*DtFedTimeToVrlTimeConverter) (
const RTI::FedTime &theFedTIme);
80 typedef RTI::FedTime* (*DtVrlTimeToFedTimeConverter) (
const DtTime &time);
94 DtCOULD_NOT_CREATE_RTIAMB = 1,
95 DtCOULD_NOT_CREATE_FEDEX = 2,
96 DtCOULD_NOT_JOIN_FEDEX = 3,
97 DtCOULD_NOT_OPEN_FED = 4,
98 DtCOULD_NOT_PARSE_FED = 5,
99 DtCOULD_NOT_FIND_FOMMAPPER = 6,
100 DtERROR_OPENING_FOMMAPPER_LIB = 7,
101 DtCOULD_NOT_CONNECT_RTIAMB = 8
123 const char* federateType,
125 const char* fedFileName = 0,
126 InitializationStatus* status = 0
137 const char* federateType,
139 const char* fedFileName = 0,
140 void* fomMapInitData = 0,
141 InitializationStatus* status = 0
144 #if DtHLA_1516_EVOLVED
163 const char* federateName,
164 const char* federateType,
168 const std::vector<DtString>& fomModules = std::vector<DtString>(),
169 InitializationStatus* status = 0 );
184 const char* federateName,
185 const char* federateType,
188 void* fomMapInitData = 0,
190 const std::vector<DtString>& fomModules = std::vector<DtString>(),
191 InitializationStatus* status = 0 );
216 virtual void setReflecting();
219 virtual bool reflecting()
const;
227 virtual void setPassiveMode();
230 virtual bool passiveMode()
const;
251 virtual void setReflectRemoteUpdatesIntoPubFlag(
bool onff);
254 virtual bool reflectRemoteUpdatesIntoPubFlag()
const;
260 virtual void setReflectingThroughRti();
263 virtual bool reflectingThroughRti()
const;
274 virtual void ignoreAdvisories();
277 virtual bool usingAdvisories()
const;
279 virtual void setRemoveObjectOnAttOutOfScope(
bool remove);
287 virtual bool enabledGenericAttributes()
const;
289 #if DtHLA_1516_EVOLVED
290 void listFederationExecutions();
311 const RTI::RegionHandleSet* region);
314 const RTI::Region* region);
341 const RTI::RegionHandleSet* region);
344 const RTI::Region* region);
349 virtual DtTime currentTimeForStamping();
365 virtual int drainInput(
DtTime maxTime = -1,
DtTime minTime = 0.0);
382 virtual RTI::FederateHandle fedHandle()
const;
385 virtual const DtString& fedType()
const;
387 #if DtHLA_1516_EVOLVED
388 virtual const DtString& fedName()
const;
394 virtual const DtString& execName()
const;
397 virtual bool isUsingMakRti()
const;
407 virtual DtString rtiVersion()
const;
414 virtual DtFom* fom();
438 virtual void addInteractionCallback(RTI::InteractionClassHandle h,
447 virtual void addInteractionCallbackByName(
const char* className,
456 virtual void removeInteractionCallback(RTI::InteractionClassHandle h,
465 virtual void removeInteractionCallbackByName(
const char* className,
471 virtual void addDiscoverObjectCallback(RTI::ObjectClassHandle h,
478 virtual void removeDiscoverObjectCallback(RTI::ObjectClassHandle h,
484 virtual void addRemoveObjectCallback(
486 RTI::ObjectInstanceHandle
id,
488 RTI::ObjectHandle
id,
496 virtual void removeRemoveObjectCallback(
498 RTI::ObjectInstanceHandle
id,
500 RTI::ObjectHandle
id,
508 virtual void setDestroyFedExecFlag(
bool flag);
511 virtual bool destroyFedExecFlag();
516 virtual void setReplyingToSynchronizationPoints(
bool yesNo);
519 virtual bool replyingToSynchronizationPoints();
523 virtual void replyToSynchronizationPoint(
const char* label);
529 virtual void setAutoSubscribeFlag(
bool flag);
532 virtual bool autoSubscribeFlag()
const;
536 virtual void setSendFedTime(
bool flag);
539 virtual bool sendFedTime()
const;
548 virtual void setUseGeographicDdm(
bool flag);
552 virtual bool useGeographicDdm()
const;
554 virtual void setDeleteOnOutOfScope(
bool yesNo);
556 virtual bool deleteOnOutOfScope()
const;
559 virtual RTI::LogicalTimeFactory *logicalTimeFactory()
const;
566 virtual void registerSynchronizationPoint(
const DtString& label);
569 virtual void registerSynchronizationPoint(
572 const RTI::VariableLengthData& tag);
578 virtual void addFederateSaveCb(
const DtString& label,
583 virtual void addFederateRestoreCb(
const DtString& label,
588 virtual void removeFederateSaveCb(
const DtString& label,
593 virtual void removeFederateRestoreCb(
const DtString& label,
599 virtual void addSynchPointRegistrationSucceededCb(
const DtString& label,
603 virtual void addSynchPointRegistrationSucceededCb(
DtSynchPointCb func,
608 virtual void removeSynchPointRegistrationSucceededCb(
const DtString& label,
612 virtual void removeSynchPointRegistrationSucceededCb(
DtSynchPointCb func,
616 virtual void addSynchPointRegistrationFailedCb(
const DtString& label,
620 virtual void addSynchPointRegistrationFailedCb(
DtSynchPointCb func,
624 virtual void removeSynchPointRegistrationFailedCb(
const DtString& label,
628 virtual void removeSynchPointRegistrationFailedCb(
DtSynchPointCb func,
632 virtual void addFederationSynchedCb(
const DtString& label,
640 virtual void removeFederationSynchedCb(
const DtString& label,
652 virtual void addRtiErrorCb(
const DtString& label, DtRtiErrorCb func,
654 virtual void removeRtiErrorCb(
const DtString& label, DtRtiErrorCb func,
656 virtual void addRtiErrorCb(DtRtiErrorCb func,
void* usr);
657 virtual void removeRtiErrorCb(DtRtiErrorCb func,
void* usr);
660 #if DtHLA_1516_EVOLVED
661 virtual void addConnectionLostCb(DtConnectionLostCb func,
665 virtual void removeConnectionLostCb(DtConnectionLostCb func,
void *usr);
671 virtual void addAnnounceSynchPointCb(
const DtString& label,
681 virtual void removeAnnounceSynchPointCb(
const DtString& label,
712 virtual void setObjectTagModifier(
const DtString& className,
723 virtual void setInteractionTagModifier(
const DtString& className,
746 virtual bool isInitialized()
const;
751 static void setLogicalTimeFactoryFactoryParameter(std::wstring);
757 static std::wstring logicalTimeFactoryFactoryParameter();
759 static void setFedAmbCreator(DtFedAmbCreator creator);
765 static DtFedAmbCreator fedAmbCreator();
770 static void setRtiAmbCreator(DtRtiAmbCreator creator);
773 static DtRtiAmbCreator rtiAmbCreator();
779 static void overrideRidParameters(
const std::map<DtString, DtString>& ridParams);
789 static void setFomMapperCreator(DtFomMapperCreator creator,
793 static DtFomMapperCreator fomMapperCreator();
803 static void setLogicalTimeToVrlTimeConverter(DtLogicalTimeToVrlTimeConverter func);
804 static DtLogicalTimeToVrlTimeConverter logicalTimeToVrlTimeConverter();
806 static void setFedTimeToVrlTimeConverter(DtFedTimeToVrlTimeConverter func);
807 static DtFedTimeToVrlTimeConverter fedTimeToVrlTimeConverter();
817 static void setVrlTimeToLogicalTimeConverter(DtVrlTimeToLogicalTimeConverter func);
818 static DtVrlTimeToLogicalTimeConverter vrlTimeToLogicalTimeConverter();
820 static void setVrlTimeToFedTimeConverter(DtVrlTimeToFedTimeConverter func);
821 static DtVrlTimeToFedTimeConverter vrlTimeToFedTimeConverter();
833 static DtTime defaultDtFedTimeToVrlTimeConverter(
const RTI::FedTime &time);
838 static std::auto_ptr<RTI::LogicalTime> defaultVrlTimeToLogicalTimeConverter(
841 static RTI::FedTime* defaultVrlTimeToFedTimeConverter(
const DtTime &time);
850 virtual bool callRtiErrorCallback(
DtString &label);
856 bool checkRtiVersionForPointerAlignment();
859 void initializeConnection(InitializationStatus* result);
863 void initializeFomMapper(
const char* dsoName,
void* fomMapInitData,
864 InitializationStatus* result);
870 DtFomMapperCreator* creator,
871 DtFomMapperDeletor* deletor);
876 void handleFedFile(
const DtString& fedFileName);
882 int initFom(InitializationStatus* result);
887 int createRtiAmb(InitializationStatus* result);
894 int connectRtiAmb(InitializationStatus* result);
900 int createFedEx(InitializationStatus* result);
904 int createFedAmb(InitializationStatus* result);
909 int joinFedEx(InitializationStatus* result);
914 bool fedFileExists(
const DtFilename &name)
const;
916 #if DtHLA_1516_EVOLVED
917 void setFomModules(
const std::vector<DtString>& modules);
922 void resignAndDisconnect();
929 virtual void rtiSend(
DtInteraction& msg, RTI::InteractionClassHandle handle,
930 const RTI::RegionHandleSet* region);
932 virtual void rtiSend(
DtInteraction& msg, RTI::InteractionClassHandle handle,
933 const RTI::Region* region);
938 virtual void selfReflectInteraction(
DtInteraction& msg, RTI::InteractionClassHandle handle,
939 const RTI::RegionHandleSet* region);
941 virtual void selfReflectInteraction(
DtInteraction& msg, RTI::InteractionClassHandle handle,
942 const RTI::Region* region);
948 static void replyToSyncPointCallback(
void* usr);
968 #if DtHLA_1516_EVOLVED
976 std::auto_ptr<RTI::LogicalTimeFactory> myLogicalTimeFactory;
1013 #if DtHLA_1516_EVOLVED
1024 #if DtHLA_1516_EVOLVED
1025 std::vector<std::wstring> myFomModules;
1026 std::wstring myMimFomModule;
1028 std::wstring myLocalSettingsDesignator;
1030 std::vector<std::wstring> myRtiArguments;
1034 RTI::VariableLengthData myTag;
1062 static DtVrlTimeToLogicalTimeConverter theVrlTimeToLogicalTimeConverter;
1063 static DtLogicalTimeToVrlTimeConverter theLogicalTimeToVrlTimeConverter;
1096 #if DtHLA_1516_EVOLVED
1097 inline const DtString& DtExerciseConn::fedName()
const
bool myDeleteOnOutOfScope
Definition: exerciseConnHLA.h:1012
void(* DtFederateSaveCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:25
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:1134
DtVRLinkStateManager * myVrlStateManager
Definition: exerciseConnHLA.h:1052
bool myDestroyFedExFlag
Definition: exerciseConnHLA.h:996
void * userData
Definition: exerciseConnHLA.h:955
bool myReflectRemoteUpdatesIntoPubFlag
Definition: exerciseConnHLA.h:1002
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:60
A protocol independent (HLA13/HLA1516) file for the VR-Link FedAmb.
DtString myFedType
Definition: exerciseConnHLA.h:967
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtExerciseConnInitializer are used to provide the DtExerciseConn with initialization dat...
Definition: exerciseConnInitializerHLA.h:41
void(* DtAnnounceSynchPointCb)(const char *label, const char *tag, void *usr)
Definition: vrlFederateAmbassador13.h:37
static void * theFomMapInitData
Definition: exerciseConnHLA.h:1060
DtExerciseConnInitializer::DtGetValueMethod myGetValueMethod
Definition: exerciseConnHLA.h:1008
DtFomMapperCreator myDsoCreator
Definition: exerciseConnHLA.h:990
DtBaseExerciseConn & operator=(const DtBaseExerciseConn &)
Assignment Operator – Not Implemented.
DtString myTag
Definition: exerciseConnHLA.h:1036
Definition: vrlFederateAmbassador13.h:45
virtual RTI::FederateHandle fedHandle() const
Get the federate handle.
Definition: exerciseConnHLA.h:1091
DtFomMapperDeletor myDsoDeletor
Definition: exerciseConnHLA.h:991
void(* DtDiscoverObjectCb)(DtHlaObject *obj, void *usr)
Definition: discoverObjectCbInfo.h:20
DtRtiErrorCb cbFunction
Definition: exerciseConnHLA.h:954
virtual DtVrlRtiAmbassador * rtiAmb()
Get the RTI ambassador.
Definition: exerciseConnHLA.h:1071
static DtFomMapperCreator theFomMapperCreator
Definition: exerciseConnHLA.h:1059
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.
static DtFomMapper * create(void *usr)
Creator function - returns new instance of DtRprFomMapper.
DtTimeStampType myRelOrAbs
Definition: exerciseConnHLA.h:994
DtHlaObjectManager * myHlaObjectManager
Definition: exerciseConnHLA.h:984
Represents a particular FOM, as described by a FED file.
Definition: fom.h:39
bool mySendFedTimeFlag
Definition: exerciseConnHLA.h:1007
bool myPauseOnSaveRestore
Definition: exerciseConnHLA.h:1009
DtGeodeticCoord myDdmPlayBoxLowerBound
The lower bound of the play box - or total simulation area - when using geographic DDM...
Definition: exerciseConnHLA.h:1042
static DtVrlTimeToFedTimeConverter theVrlTimeToFedTimeConverter
Definition: exerciseConnHLA.h:1065
DtString myFedFile
myFedFile is used to specify a Fed File for the federation.
Definition: exerciseConnHLA.h:1022
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:1011
DtFomMapper * myFomMapper
Definition: exerciseConnHLA.h:988
Contains the DtVRLinkStateStateRepository class declaration.
void * userData
Definition: exerciseConnHLA.h:962
void(* DtReceiveInteractionCb)(DtInteraction *inter, void *usr)
Definition: receiveInteractionCbInfo.h:23
#define LogicalTime
Definition: hlaLogicalTime.h:18
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:993
virtual void send(const DtStateMsg &msg)=0
Send a state message to the network.
DtVrlFederateAmbassador * myFedAmb
Definition: exerciseConnHLA.h:980
DtVrlRtiAmbassador * myRtiAmb
Definition: exerciseConnHLA.h:978
class DtInteractionManager:
Definition: interactionManager.h:25
InitializationStatus
Initialization Error Enumerations.
Definition: exerciseConnHLA.h:92
DtString label
Definition: exerciseConnHLA.h:960
virtual void setSendFedTime(bool flag)
Set flag which determines whether to use Time Stamp Order when sending and receiving interactions...
Definition: exerciseConnHLA.h:1114
virtual DtHlaObjectManager * hlaObjectManager()
Get the hlaObjectManager.
Definition: exerciseConnHLA.h:1081
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:1124
DtVRLExecutionStatus
Definition: vrlinkStateStateRepository.h:29
RTI::FederateHandle myFedHandle
Definition: exerciseConnHLA.h:979
static DtRtiAmbCreator theRtiAmbCreator
Definition: exerciseConnHLA.h:1058
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region13.h:31
bool myReplyingToSynchronizationPoints
Definition: exerciseConnHLA.h:1004
bool myAutoSubscribeFlag
Definition: exerciseConnHLA.h:1006
Instances of DtFilename are DtStrings which convert filenames to the native format.
Definition: vlFilename.h:20
bool myReflecting
Definition: exerciseConnHLA.h:1001
virtual const DtString & execName() const
Get the federation execution name.
Definition: exerciseConnHLA.h:1108
static std::wstring myLogicalTimeFactFactParam
Definition: exerciseConnHLA.h:1056
std::list< DtGeneralRtiErrorCbInfo > myRtiErrorCbList
Definition: exerciseConnHLA.h:1049
DtGeodeticCoord myDdmPlayBoxUpperBound
The upper bound of the play box - or the total simulation area - when using geographic DDM...
Definition: exerciseConnHLA.h:1047
bool myPassiveMode
Definition: exerciseConnHLA.h:1000
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerHLA.h:27
DtDynamicLibrary provides an operating independent way to manipulate dynamically loaded libraries...
Definition: vlDynamic.h:23
DtOwnershipHandler * myOwnershipHandler
Definition: exerciseConnHLA.h:986
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
void(* DtSynchPointCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:33
DtString myExecName
Definition: exerciseConnHLA.h:965
static DtFedTimeToVrlTimeConverter theFedTimeToVrlTimeConverter
Definition: exerciseConnHLA.h:1066
bool myGenericAttributes
Definition: exerciseConnHLA.h:999
std::list< DtLabelledRtiErrorCbInfo > myLabRtiErrorCbList
Definition: exerciseConnHLA.h:1050
DtRtiErrorCb cbFunction
Definition: exerciseConnHLA.h:961
DtFom * myFom
Definition: exerciseConnHLA.h:982
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:1003
Definition: exerciseConnHLA.h:952
virtual const DtString & fedType() const
Returns the specified type of the federate.
Definition: exerciseConnHLA.h:1103
virtual bool sendFedTime() const
Get the send fed time flag. See above description.
Definition: exerciseConnHLA.h:1119
DtVrlRtiAmbassador is a pure virtual class, designed to provide a foundation for different ways to se...
Definition: vrlRtiAmbassador13.h:25
DtReal DtTime
A definition of DtTime.
Definition: vlTime.h:19
Contains the DtEventId class declaration.
DtDynamicLibrary * myFomMapperDso
Definition: exerciseConnHLA.h:989
Instances of DtString are used to represent strings.
Definition: vlString.h:29
bool myUseFomMapperDeletor
Definition: exerciseConnHLA.h:997
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:1086
Definition: exerciseConnHLA.h:958
virtual bool deleteOnOutOfScope() const
Definition: exerciseConnHLA.h:1139
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:985
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.
bool myUsingAdvisories
Definition: exerciseConnHLA.h:1005
DtString myRtiError
used to save the Rti error incurred during connection init stage
Definition: exerciseConnHLA.h:1019
static DtFedAmbCreator theFedAmbCreator
Definition: exerciseConnHLA.h:1057
virtual DtVrlFederateAmbassador * fedAmb()
Get the federate ambassador.
Definition: exerciseConnHLA.h:1076
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:1129
DtGetValueMethod
Indicate if getValue or getValuePointer should be used to retrieve data from handleValuePairSets.
Definition: exerciseConnInitializerHLA.h:47