MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpFedMgr.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: simpFedMgr.h,v $ $Revision: 1.26 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef simpFedMgr_H_
10 #define simpFedMgr_H_
11 
14 
15 #include "rtiMsConfig.h"
16 #include "fedMgr.h"
17 #include <vlutil/vlString.h>
18 #include <map>
19 
31 {
32 public:
33 
37  DtConnectionMgr* connMgr,
38  std::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
39 
41  virtual ~DtSimpleFederateMgr();
42 
43 private:
44 
47 
50 
51 public:
52 
55 
56 
58  virtual void createFederationExecution(
59  const char* executionName, const char* timeImplName,
60 #if defined(DtIFSPEC13) || defined(DtIFSPEC1516)
61  const char* fed);
62 #else
63  const std::vector<DtString>& fomModules,
64  const char* mimModule);
65 #endif
66 
68  virtual void destroyFederationExecution (
69  const char* executionName);
70 
71 #if !defined(DtIFSPEC13) && !defined(DtIFSPEC1516)
72  virtual void listFederationExecutions() const;
74 
76  virtual void listFederationMembers(DtString const& federationName) const;
77 #endif
78 
80 #if defined(DtIFSPEC13)
81  virtual RTI_API::FederateHandle joinFederationExecution (
82  const char* federateType,
83  const char* executionName,
84  RTI_API::FederateAmbassador* federateAmbassadorReference,
85  unsigned long flags);
86 #elif defined(DtIFSPEC1516)
87  virtual RTI_API::FederateHandle joinFederationExecution (
88  const char* federateType,
89  const char* executionName,
90  RTI_API::FederateAmbassador* federateAmbassadorReference,
91  unsigned long flags);
92 #else
93  virtual RTI_API::FederateHandle joinFederationExecution(
94  const char* federateName,
95  const char* federateType,
96  const char* executionName,
97  const std::vector<DtString>& fomModules,
98  unsigned long flags);
99 #endif
100 
102  virtual void resignFederationExecution(RTI_API::ResignAction theAction);
104 
107 
108 
110  virtual void registerFederationSynchronizationPoint(char const * label, DtRtiApiTagConstRef theTag);
111 
113  virtual void registerFederationSynchronizationPoint(char const * label, DtRtiApiTagConstRef theTag,
114  DtFederateHandleSet const & syncSet);
115 
117  virtual void synchronizationPointAchieved(
118  const char* label, bool successfully=true);
120 
122  virtual void testSaveProgress() const;
123 
126 
127 
129  virtual void requestFederationSave(char const * label, DtRtiApiTime const * time = NULL);
130 #if !defined(DtIFSPEC13)
131  virtual void queryFederationSaveStatus();
134  virtual void queryFederationRestoreStatus();
135 #if !defined(DtIFSPEC1516)
136  virtual void abortFederationSave();
139  virtual void abortFederationRestore();
140 #endif
141 #endif
142  virtual void federateSaveBegun ();
145  virtual void federateSaveComplete ();
147  virtual void federateSaveNotComplete ();
149  virtual void requestFederationRestore ( const char *label);
151  virtual void federateRestoreComplete ();
153  virtual void federateRestoreNotComplete ();
155 
156  virtual void addNonDuplicateFoms(std::vector<MAKRti::DtString>& fomModules, const std::vector<MAKRti::DtString>& fomModulesToAdd);
157 public:
158 
160  static DtFederateMgr* create(DtRIDParameters* params,
161  DtRtiAmbassadorBaseImplementor* ambImplPtr,
162  DtConnectionMgr* connMgr,
163  std::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
164 
165 protected:
166 
167  std::map< DtString, std::vector< DtString > > myFederationsToCreateFomModulesMap;
168 
169 };
170 
171 #endif
172 
173 
174 
175 
176 
177 
178 
Instances of DtSimpleFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) for LRCs that are communicating peer to peer.
Definition: simpFedMgr.h:30
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:50
virtual void synchronizationPointAchieved(const char *label, bool successfully=true)=0
Process the synchronization point achieved service.
This class manages the RTI&#39;s start-up configuration using both MTL variables and functions.
Definition: RIDparams.h:87
virtual void requestFederationRestore(const char *label)=0
Process the request federation restore service.
static DtFederateMgr * create(DtRIDParameters *params, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, std::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
A Federate Manager instance is created, initialized, and its pointer is returned. ...
virtual void createFederationExecution(const char *executionName, const char *timeImplName, const std::vector< DtString > &fomModules, const char *mimModule)=0
Process the create federation execution service.
Definition: fedHandleSet.h:61
virtual RTI_API::FederateHandle joinFederationExecution(const char *federateName, const char *federateType, const char *executionName, const std::vector< DtString > &fomModules, unsigned long flags)=0
Process the join federation execution service.
std::map< DtString, std::vector< DtString > > myFederationsToCreateFomModulesMap
Definition: simpFedMgr.h:167
virtual void federateSaveNotComplete()=0
Process the federate save not complete service.
virtual void federateSaveComplete()=0
Process the federate save complete service.
RTI_API::LogicalTime DtRtiApiTime
Typedefs for RTI API types that frequently require conditional precompile directives.
Definition: rtiApiTypes.h:91
DtRtiApiVariableLengthData const & DtRtiApiTagConstRef
Definition: rtiApiTypes.h:98
virtual void abortFederationRestore()=0
Process the abort federation restore service.
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
virtual void listFederationExecutions() const =0
Request the list of federation executions.
virtual void federateSaveBegun()=0
Process the federate save begun service.
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
virtual void queryFederationSaveStatus()=0
Process the query federation save service.
virtual void federateRestoreComplete()=0
Process the federate restore complete service.
virtual void requestFederationSave(const char *label, const DtRtiApiTime *time=NULL)=0
Process the requested federation save service.
virtual void listFederationMembers(DtString const &federationName) const =0
List the list of federates in the joined federation execution.
ResignAction
Definition: datatypes.pb.h:305
DtFederateMgr & operator=(DtFederateMgr const &)
Assignment not implemented – Assignment Not Allowed!
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual void destroyFederationExecution(const char *executionName)=0
Process the destroy federation execution service.
virtual void abortFederationSave()=0
Process the abort federation save service.
virtual void queryFederationRestoreStatus()=0
Process the query federation restore service.
virtual void federateRestoreNotComplete()=0
Process the federate restore not complete service.
virtual void testSaveProgress() const =0
Perform exception tests on save/restore state.
virtual void resignFederationExecution(RTI_API::ResignAction theAction)
Process the resign federation execution service.
This file contains the declaration of the base federation manager.
virtual void registerFederationSynchronizationPoint(const char *label, RTI_API::VariableLengthData const &theTag)=0
Process the register federation synchronization point service.

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)