MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtFomModuleManager Class Reference
+ Collaboration diagram for DtFomModuleManager:

Public Member Functions

virtual ~DtFomModuleManager ()
 Destructor. More...
 
virtual DtRIDParametersparams ()
 Access to the RID parameters. More...
 
virtual DtRIDParametersparams () const
 
virtual const MAKRti::DtString & currentFedFileName () const
 get/set current FED file name for the currently joined federation More...
 
virtual void setCurrentFedFileName (const MAKRti::DtString &fedFileName)
 
virtual const MAKRti::DtString & mimName () const
 get/set MIM name for the currently joined federation More...
 
virtual void setMimName (const MAKRti::DtString &)
 
virtual MAKRti::DtString timeImplName (const MAKRti::DtString &execName)
 Return the time implementation name associated with the federation execution name. More...
 
virtual MAKRti::DtString fedFileName (const MAKRti::DtString &execName)
 Return the .fed file name associated with the federation execution name. More...
 
virtual DtFomClassMgrparsedFom (const MAKRti::DtString &fomFileName)
 Get the FOM class manager from parsing the given FOM/MIM filename. More...
 
virtual void testReadFedFile (const MAKRti::DtString &fileName, const MAKRti::DtString &executionName)
 Attempts to read a fed file but does not fill in the fom class. More...
 
virtual DtFomClassMgrtestReadFomModule (MAKRti::DtString const &, MAKRti::DtString const &executionName, bool isMim)
 Attempt to read a module and if successful add it to list of parsed FOMs Return pointer to the fom module target if successful; otherwise, nullptr. More...
 
virtual void testReadAndSortFomModules (std::vector< MAKRti::DtString > const &, MAKRti::DtString const &executionName, bool isMim=false)
 Attempt to read the given FOM modules and if successful add them to list of parsed FOMs If FOM sorting is enabled, FOM modules are added to FOM sorter also. More...
 
virtual void clearFomSorting ()
 Clear FOM sorting. More...
 
virtual MAKRti::DtFedReader * readFedFile (const MAKRti::DtString &fileName, const MAKRti::DtString &executionName)
 Reads a FED file into a DtFomClassMgr object. More...
 
virtual MAKRti::DtFedReader * currentFedReader ()
 Get the FOM reader currently being used. More...
 
virtual void addFomModule (const MAKRti::DtString &name, char *buffer)
 Add federation FOM module names and data. More...
 
virtual bool findFedFileNameFromMapping (const MAKRti::DtString execName, const std::vector< MAKRti::DtString > &orig, std::vector< MAKRti::DtString > &namesToUse) const
 Find the full FED file path from the stripped name. More...
 
virtual void appendFomModule (std::vector< MAKRti::DtString > &target, MAKRti::DtString const &source)
 Append the source FED file name into the target list, stripping the path name as it is appended into the target. More...
 
virtual void appendFomModules (std::vector< MAKRti::DtString > &target, std::vector< MAKRti::DtString > const &source)
 Append the source FED file names into the target list, stripping the path names as they are appended into the target. More...
 
virtual void addFedExNameMapping (const MAKRti::DtString &execName, const MAKRti::DtString &timeImplName, const MAKRti::DtString &fed)
 Add mapping between federation execution name, time Impl Name and fed file name. More...
 
virtual void mergeFomModules (const std::vector< MAKRti::DtString > *fomModules)
 Merge the given FOM Modules into the current FOM. More...
 
virtual void addJoinFomModuleNames (const std::vector< MAKRti::DtString > &moduleNames)
 Add/get federate FOM module names specified at join. More...
 
virtual const std::vector
< std::wstring > & 
joinFomModuleNames () const
 
virtual void addFomModuleNameMapping (const MAKRti::DtString &executionName, const MAKRti::DtString &module)
 Add mapping between execution name and the given FOM module. More...
 
virtual void addFomModuleNameMapping (const MAKRti::DtString &executionName, const std::vector< MAKRti::DtString > &modules)
 Add mapping between execution name and the given list of FOM modules. More...
 
virtual const std::vector
< std::wstring > & 
fomModuleNames () const
 Get federation FOM module names. More...
 
virtual const char * joinFomModuleData (MAKRti::DtU32 moduleIndicator) const
 Get join FOM module data. moduleIndicator is an index into the joinFomModuleNames() vector. More...
 
virtual const char * fomModuleData (MAKRti::DtU32 moduleIndicator) const
 Get federation FOM module data. moduleIndicator is an index into the fomModuleNames() vector. More...
 
virtual const char * mimData () const
 Get MIM data. More...
 
virtual bool isFomAvailable (const MAKRti::DtString &fomName)
 
virtual void populateWithUnknownFoms (std::vector< MAKRti::DtString > &mods, std::vector< MAKRti::DtString > &requestedMods)
 
virtual void getCrcsOfFoms (std::vector< unsigned int > &moduleCrcs, const std::vector< MAKRti::DtString > &creationFomModuleNames)
 
virtual void resignFederation ()
 Clean up current FOM when resigning. More...
 
virtual void getSortedFomFileNames (std::vector< MAKRti::DtString > &creationFomModuleNames)
 Get the sorted FOM modules based on gathered dependency information. More...
 
virtual void setJoinDistributor (DtSynchronousFileDistributor *distributor)
 Set/Get the Join file distributor of the currently join(ed/ing) federation execution. More...
 
virtual
DtSynchronousFileDistributor
joinDistributor ()
 Set/Get the Join file distributor of the currently join(ed/ing) federation execution. More...
 
virtual
DtSynchronousFileDistributor
joinDistributor () const
 Set/Get the Join file distributor of the currently join(ed/ing) federation execution. More...
 
virtual DtFomClassMgrcurrentFom ()
 Access to the fom for the currently joined federation. More...
 
virtual DtFomClassMgrcurrentFom () const
 Access to the fom for the currently joined federation. More...
 

Static Public Member Functions

static DtFomModuleManagercreate (DtRIDParameters *p)
 Creates an instance of a DtFomModuleManager. More...
 
static void setCreatorFunction (DtFomModuleManagerCreator fn)
 Call this function to set an alternate creator function With this function, users can replace this DtFomModuleManager with their own derived class. More...
 

Protected Types

typedef std::map
< MAKRti::DtString,
DtFomClassMgr * > 
DtParsedFomsMap
 
typedef std::map
< MAKRti::DtString,
MAKRti::DtString > 
DtFomNameToFileNameMap
 
typedef std::map
< MAKRti::DtString,
MAKRti::DtString > 
DtFileNameToFomNameMap
 
typedef std::map
< MAKRti::DtString, std::pair
< char *, int > > 
DtFileNameToDataMap
 
typedef std::pair
< MAKRti::DtString,
MAKRti::DtString > 
DtFileFomPair
 

Protected Member Functions

 DtFomModuleManager (DtRIDParameters *params)
 Constructor - used by create. More...
 
virtual void init ()
 
virtual void addFomFileName (const MAKRti::DtString &name)
 Add FOM filename to collection of merged FOM modules filenames. More...
 
virtual const std::vector
< MAKRti::DtString > & 
fomFileNames () const
 Get collection of merged FOM modules filenames. More...
 
virtual MAKRti::DtFilename fedFileNameToUse (const MAKRti::DtString &fileName, const MAKRti::DtString &executionName)
 Utility function, finds fed file name to use based on fed file name and execution name. More...
 
virtual void readFedFilePtr (const FILE *fp, const MAKRti::DtString &fileName, const MAKRti::DtString &executionName)
 Reads a FED file into a DtFomClassMgr object. This form is preferred when using the distributed Fed File option. More...
 
virtual MAKRti::DtFedReader * getReader (MAKRti::DtFomType theFomType, DtFomClassMgr *target)
 Return an instance of a FOM reader of the given type and set the target to that type. More...
 
virtual MAKRti::DtFedReader * getReader (MAKRti::DtFomType theFomType)
 Return an instance of a FOM reader of the given type. More...
 
virtual void addToParsedFomMap (MAKRti::DtFedReader *myFedReader, const MAKRti::DtString &fileNameToUse, DtFomClassMgr *fedTarget, unsigned long theCrc=0)
 Add parsed FOM into a FOM map that will be reused if FOM submitted again. More...
 
virtual void popupAndThrowCouldNotOpenFOM (const MAKRti::DtString &fileName, bool isMim=false) const
 Throw the CouldNotOpenFDD exception. More...
 
virtual void popupAndThrowErrorReadingFOM (const MAKRti::DtString &errorMessage, bool isMim=false) const
 Throw the ErrorReadingFDD exception. More...
 
virtual void checkSpaceInfo (const DtSpaceInfo *spaceInfo) const
 Check DDM space info for exceptions and throw if necessary. More...
 
 DtFomModuleManager (const DtFomModuleManager &orig)
 Copy constructor & assignment operator not implemented. More...
 
DtFomModuleManageroperator= (const DtFomModuleManager &orig)
 Copy constructor & assignment operator not implemented. More...
 

Protected Attributes

DtRIDParametersmyParams
 Initialization data. More...
 
DtSynchronousFileDistributormyDistributor
 
MAKRti::DtFedReader * myFedReader
 Temporary internal reader used until changes made to VR-Link fed reader. More...
 
MAKRti::DtFedReader * myFedReader13
 
MAKRti::DtFedReader * myFedReader1516
 
MAKRti::DtFedReader * myFedReader1516e
 
MAKRti::DtFedReader * myFedReader1516_2025
 
MAKRti::DtList myMappingList
 List of federation execution names with FED files names and time implementation names. More...
 
std::map< MAKRti::DtString,
std::set< MAKRti::DtString > > 
myFedFileNames
 
MAKRti::DtFomSorter * myFomSorter
 
MAKRti::DtMutex myMutex
 
DtFomClassMgrmyCurrentFom
 
MAKRti::DtString myCurrentFedFileName
 Current FED/FDD file name. More...
 
MAKRti::DtString myMimName
 MIM name. More...
 
std::map< MAKRti::DtString,
DtFileInformation * > 
myTakenFiles
 When files are received from distributor, store them here until requester takes them. More...
 
std::vector< std::wstring > myFomModulesNames
 FOM modules. More...
 
std::vector< std::wstring > myJoinFomModulesNames
 
std::vector< char * > myFomModuleData
 
unsigned myMimIndex
 
MAKRti::DtResignAction myResignAction
 The resign action. More...
 
DtParsedFomsMap myParsedFoms
 Map containing FOMs parsed into FedTargets. More...
 
DtFileNameToDataMap myParsedFomModuleData
 Parsed FOM module data. More...
 
DtFomNameToFileNameMap myFomToFileMap
 
DtFileNameToFomNameMap myFileToFomMap
 
std::vector< MAKRti::DtString > myFomFileNames
 

Static Protected Attributes

static DtFomModuleManagerCreator theCreator
 Creator function creates instance of this class or subclass. More...
 

Member Typedef Documentation

typedef std::pair<MAKRti::DtString, MAKRti::DtString> DtFomModuleManager::DtFileFomPair
protected
typedef std::map< MAKRti::DtString, std::pair< char*, int > > DtFomModuleManager::DtFileNameToDataMap
protected
typedef std::map< MAKRti::DtString, MAKRti::DtString > DtFomModuleManager::DtFileNameToFomNameMap
protected
typedef std::map< MAKRti::DtString, MAKRti::DtString > DtFomModuleManager::DtFomNameToFileNameMap
protected
typedef std::map< MAKRti::DtString, DtFomClassMgr* > DtFomModuleManager::DtParsedFomsMap
protected

Constructor & Destructor Documentation

DtFomModuleManager::DtFomModuleManager ( DtRIDParameters params)
protected

Constructor - used by create.

DtFomModuleManager::DtFomModuleManager ( const DtFomModuleManager orig)
protected

Copy constructor & assignment operator not implemented.

virtual DtFomModuleManager::~DtFomModuleManager ( )
virtual

Destructor.

Member Function Documentation

virtual void DtFomModuleManager::addFedExNameMapping ( const MAKRti::DtString &  execName,
const MAKRti::DtString &  timeImplName,
const MAKRti::DtString &  fed 
)
virtual

Add mapping between federation execution name, time Impl Name and fed file name.

virtual void DtFomModuleManager::addFomFileName ( const MAKRti::DtString &  name)
protectedvirtual

Add FOM filename to collection of merged FOM modules filenames.

virtual void DtFomModuleManager::addFomModule ( const MAKRti::DtString &  name,
char *  buffer 
)
virtual

Add federation FOM module names and data.

virtual void DtFomModuleManager::addFomModuleNameMapping ( const MAKRti::DtString &  executionName,
const MAKRti::DtString &  module 
)
virtual

Add mapping between execution name and the given FOM module.

virtual void DtFomModuleManager::addFomModuleNameMapping ( const MAKRti::DtString &  executionName,
const std::vector< MAKRti::DtString > &  modules 
)
virtual

Add mapping between execution name and the given list of FOM modules.

virtual void DtFomModuleManager::addJoinFomModuleNames ( const std::vector< MAKRti::DtString > &  moduleNames)
virtual

Add/get federate FOM module names specified at join.

virtual void DtFomModuleManager::addToParsedFomMap ( MAKRti::DtFedReader *  myFedReader,
const MAKRti::DtString &  fileNameToUse,
DtFomClassMgr fedTarget,
unsigned long  theCrc = 0 
)
protectedvirtual

Add parsed FOM into a FOM map that will be reused if FOM submitted again.

virtual void DtFomModuleManager::appendFomModule ( std::vector< MAKRti::DtString > &  target,
MAKRti::DtString const &  source 
)
virtual

Append the source FED file name into the target list, stripping the path name as it is appended into the target.

virtual void DtFomModuleManager::appendFomModules ( std::vector< MAKRti::DtString > &  target,
std::vector< MAKRti::DtString > const &  source 
)
virtual

Append the source FED file names into the target list, stripping the path names as they are appended into the target.

virtual void DtFomModuleManager::checkSpaceInfo ( const DtSpaceInfo *  spaceInfo) const
protectedvirtual

Check DDM space info for exceptions and throw if necessary.

virtual void DtFomModuleManager::clearFomSorting ( )
virtual

Clear FOM sorting.

static DtFomModuleManager* DtFomModuleManager::create ( DtRIDParameters p)
static

Creates an instance of a DtFomModuleManager.

virtual const MAKRti::DtString& DtFomModuleManager::currentFedFileName ( ) const
virtual

get/set current FED file name for the currently joined federation

virtual MAKRti::DtFedReader* DtFomModuleManager::currentFedReader ( )
virtual

Get the FOM reader currently being used.

virtual DtFomClassMgr* DtFomModuleManager::currentFom ( )
virtual

Access to the fom for the currently joined federation.

virtual DtFomClassMgr* DtFomModuleManager::currentFom ( ) const
virtual

Access to the fom for the currently joined federation.

virtual MAKRti::DtString DtFomModuleManager::fedFileName ( const MAKRti::DtString &  execName)
virtual

Return the .fed file name associated with the federation execution name.

If none has been registered using addFedExNameMapping, we use <execName>.fed.

virtual MAKRti::DtFilename DtFomModuleManager::fedFileNameToUse ( const MAKRti::DtString &  fileName,
const MAKRti::DtString &  executionName 
)
protectedvirtual

Utility function, finds fed file name to use based on fed file name and execution name.

Back-compat with pre-1.3.6 releases, where FED file name does not come in a join response message.

virtual bool DtFomModuleManager::findFedFileNameFromMapping ( const MAKRti::DtString  execName,
const std::vector< MAKRti::DtString > &  orig,
std::vector< MAKRti::DtString > &  namesToUse 
) const
virtual

Find the full FED file path from the stripped name.

virtual const std::vector<MAKRti::DtString>& DtFomModuleManager::fomFileNames ( ) const
protectedvirtual

Get collection of merged FOM modules filenames.

virtual const char* DtFomModuleManager::fomModuleData ( MAKRti::DtU32  moduleIndicator) const
virtual

Get federation FOM module data. moduleIndicator is an index into the fomModuleNames() vector.

virtual const std::vector<std::wstring>& DtFomModuleManager::fomModuleNames ( ) const
virtual

Get federation FOM module names.

virtual void DtFomModuleManager::getCrcsOfFoms ( std::vector< unsigned int > &  moduleCrcs,
const std::vector< MAKRti::DtString > &  creationFomModuleNames 
)
virtual
virtual MAKRti::DtFedReader* DtFomModuleManager::getReader ( MAKRti::DtFomType  theFomType,
DtFomClassMgr target 
)
protectedvirtual

Return an instance of a FOM reader of the given type and set the target to that type.

virtual MAKRti::DtFedReader* DtFomModuleManager::getReader ( MAKRti::DtFomType  theFomType)
protectedvirtual

Return an instance of a FOM reader of the given type.

virtual void DtFomModuleManager::getSortedFomFileNames ( std::vector< MAKRti::DtString > &  creationFomModuleNames)
virtual

Get the sorted FOM modules based on gathered dependency information.

virtual void DtFomModuleManager::init ( )
protectedvirtual
virtual bool DtFomModuleManager::isFomAvailable ( const MAKRti::DtString &  fomName)
virtual
virtual DtSynchronousFileDistributor* DtFomModuleManager::joinDistributor ( )
virtual

Set/Get the Join file distributor of the currently join(ed/ing) federation execution.

virtual DtSynchronousFileDistributor* DtFomModuleManager::joinDistributor ( ) const
virtual

Set/Get the Join file distributor of the currently join(ed/ing) federation execution.

virtual const char* DtFomModuleManager::joinFomModuleData ( MAKRti::DtU32  moduleIndicator) const
virtual

Get join FOM module data. moduleIndicator is an index into the joinFomModuleNames() vector.

virtual const std::vector<std::wstring>& DtFomModuleManager::joinFomModuleNames ( ) const
virtual
virtual void DtFomModuleManager::mergeFomModules ( const std::vector< MAKRti::DtString > *  fomModules)
virtual

Merge the given FOM Modules into the current FOM.

If used outside of create or join federation in immediate callback mode, it is assumed that FOM is locked and all exceptions are caught to allow unlocking

virtual const char* DtFomModuleManager::mimData ( ) const
virtual

Get MIM data.

virtual const MAKRti::DtString& DtFomModuleManager::mimName ( ) const
virtual

get/set MIM name for the currently joined federation

DtFomModuleManager& DtFomModuleManager::operator= ( const DtFomModuleManager orig)
protected

Copy constructor & assignment operator not implemented.

virtual DtRIDParameters* DtFomModuleManager::params ( )
virtual

Access to the RID parameters.

virtual DtRIDParameters* DtFomModuleManager::params ( ) const
virtual
virtual DtFomClassMgr* DtFomModuleManager::parsedFom ( const MAKRti::DtString &  fomFileName)
virtual

Get the FOM class manager from parsing the given FOM/MIM filename.

virtual void DtFomModuleManager::populateWithUnknownFoms ( std::vector< MAKRti::DtString > &  mods,
std::vector< MAKRti::DtString > &  requestedMods 
)
virtual
virtual void DtFomModuleManager::popupAndThrowCouldNotOpenFOM ( const MAKRti::DtString &  fileName,
bool  isMim = false 
) const
protectedvirtual

Throw the CouldNotOpenFDD exception.

virtual void DtFomModuleManager::popupAndThrowErrorReadingFOM ( const MAKRti::DtString &  errorMessage,
bool  isMim = false 
) const
protectedvirtual

Throw the ErrorReadingFDD exception.

virtual MAKRti::DtFedReader* DtFomModuleManager::readFedFile ( const MAKRti::DtString &  fileName,
const MAKRti::DtString &  executionName 
)
virtual

Reads a FED file into a DtFomClassMgr object.

If fileName = "", this class will try to read in a file with the name <executionName>.fed Returns the fed reader used to read the FOM or nullptr if read unsuccessful

virtual void DtFomModuleManager::readFedFilePtr ( const FILE *  fp,
const MAKRti::DtString &  fileName,
const MAKRti::DtString &  executionName 
)
protectedvirtual

Reads a FED file into a DtFomClassMgr object. This form is preferred when using the distributed Fed File option.

virtual void DtFomModuleManager::resignFederation ( )
virtual

Clean up current FOM when resigning.

static void DtFomModuleManager::setCreatorFunction ( DtFomModuleManagerCreator  fn)
static

Call this function to set an alternate creator function With this function, users can replace this DtFomModuleManager with their own derived class.

virtual void DtFomModuleManager::setCurrentFedFileName ( const MAKRti::DtString &  fedFileName)
virtual
virtual void DtFomModuleManager::setJoinDistributor ( DtSynchronousFileDistributor distributor)
virtual

Set/Get the Join file distributor of the currently join(ed/ing) federation execution.

virtual void DtFomModuleManager::setMimName ( const MAKRti::DtString &  )
virtual
virtual void DtFomModuleManager::testReadAndSortFomModules ( std::vector< MAKRti::DtString > const &  ,
MAKRti::DtString const &  executionName,
bool  isMim = false 
)
virtual

Attempt to read the given FOM modules and if successful add them to list of parsed FOMs If FOM sorting is enabled, FOM modules are added to FOM sorter also.

virtual void DtFomModuleManager::testReadFedFile ( const MAKRti::DtString &  fileName,
const MAKRti::DtString &  executionName 
)
virtual

Attempts to read a fed file but does not fill in the fom class.

virtual DtFomClassMgr* DtFomModuleManager::testReadFomModule ( MAKRti::DtString const &  ,
MAKRti::DtString const &  executionName,
bool  isMim 
)
virtual

Attempt to read a module and if successful add it to list of parsed FOMs Return pointer to the fom module target if successful; otherwise, nullptr.

virtual MAKRti::DtString DtFomModuleManager::timeImplName ( const MAKRti::DtString &  execName)
virtual

Return the time implementation name associated with the federation execution name.

If none has been registered using addFedExNameMapping, an empty string (default implementation) is returned

Member Data Documentation

MAKRti::DtString DtFomModuleManager::myCurrentFedFileName
protected

Current FED/FDD file name.

DtFomClassMgr* DtFomModuleManager::myCurrentFom
protected
DtSynchronousFileDistributor* DtFomModuleManager::myDistributor
protected
std::map<MAKRti::DtString, std::set<MAKRti::DtString> > DtFomModuleManager::myFedFileNames
protected
MAKRti::DtFedReader* DtFomModuleManager::myFedReader
protected

Temporary internal reader used until changes made to VR-Link fed reader.

MAKRti::DtFedReader* DtFomModuleManager::myFedReader13
protected
MAKRti::DtFedReader* DtFomModuleManager::myFedReader1516
protected
MAKRti::DtFedReader* DtFomModuleManager::myFedReader1516_2025
protected
MAKRti::DtFedReader* DtFomModuleManager::myFedReader1516e
protected
DtFileNameToFomNameMap DtFomModuleManager::myFileToFomMap
protected
std::vector<MAKRti::DtString> DtFomModuleManager::myFomFileNames
protected
std::vector<char*> DtFomModuleManager::myFomModuleData
protected
std::vector<std::wstring> DtFomModuleManager::myFomModulesNames
protected

FOM modules.

MAKRti::DtFomSorter* DtFomModuleManager::myFomSorter
protected
DtFomNameToFileNameMap DtFomModuleManager::myFomToFileMap
protected
std::vector<std::wstring> DtFomModuleManager::myJoinFomModulesNames
protected
MAKRti::DtList DtFomModuleManager::myMappingList
protected

List of federation execution names with FED files names and time implementation names.

These names are collected when creating federation executions.

unsigned DtFomModuleManager::myMimIndex
protected
MAKRti::DtString DtFomModuleManager::myMimName
protected

MIM name.

MAKRti::DtMutex DtFomModuleManager::myMutex
mutableprotected
DtRIDParameters* DtFomModuleManager::myParams
protected

Initialization data.

DtFileNameToDataMap DtFomModuleManager::myParsedFomModuleData
protected

Parsed FOM module data.

DtParsedFomsMap DtFomModuleManager::myParsedFoms
protected

Map containing FOMs parsed into FedTargets.

MAKRti::DtResignAction DtFomModuleManager::myResignAction
protected

The resign action.

std::map<MAKRti::DtString, DtFileInformation*> DtFomModuleManager::myTakenFiles
protected

When files are received from distributor, store them here until requester takes them.

DtFomModuleManagerCreator DtFomModuleManager::theCreator
staticprotected

Creator function creates instance of this class or subclass.


The documentation for this class was generated from the following file:

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)