MAK RTIspy API Documentation for HLA 1516
 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  DtBoost::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 #ifdef DtIFSPEC1516E
61  const std::vector<DtString>& fomModules,
62  const char* mimModule);
63 #else
64  const char* fed);
65 #endif
66 
68  virtual void destroyFederationExecution (
69  const char* executionName);
70 
71 #ifdef DtIFSPEC1516E
72  virtual void listFederationExecutions();
74 #endif
75 
77 #ifdef DtIFSPEC1516
78  virtual rti1516::FederateHandle joinFederationExecution (
79  const char* federateType,
80  const char* executionName,
81  rti1516::FederateAmbassador* federateAmbassadorReference,
82  unsigned long flags);
83 #elif defined(DtIFSPEC1516E)
84  virtual rti1516e::FederateHandle joinFederationExecution (
85  const char* federateName,
86  const char* federateType,
87  const char* executionName,
88  const std::vector<DtString>& fomModules,
89  unsigned long flags);
90 #else
91  virtual RTI::FederateHandle joinFederationExecution (
92  const char* federateType,
93  const char* executionName,
94  RTI::FederateAmbassador* federateAmbassadorReference,
95  unsigned long flags);
96 #endif
97 
99 #ifdef DtIFSPEC1516
100  virtual void resignFederationExecution(
101  rti1516::ResignAction theAction);
102 #elif defined(DtIFSPEC1516E)
103  virtual void resignFederationExecution(
104  rti1516e::ResignAction theAction);
105 #else
106  virtual void resignFederationExecution(
107  RTI::ResignAction theAction);
108 #endif
109 
110 
113 
114 
116 #ifdef DtIFSPEC1516
118  char const * label,
119  rti1516::VariableLengthData const & theTag);
120 #elif defined(DtIFSPEC1516E)
122  char const * label,
123  rti1516e::VariableLengthData const & theTag);
124 #else
126  char const * label,
127  char const * theTag);
128 #endif
129 
131 #ifdef DtIFSPEC1516
133  char const * label,
134  rti1516::VariableLengthData const & theTag,
135  DtFederateHandleSet const & syncSet);
136 #elif defined(DtIFSPEC1516E)
138  char const * label,
139  rti1516e::VariableLengthData const & theTag,
140  DtFederateHandleSet const & syncSet);
141 #else
143  char const * label,
144  char const * theTag,
145  DtFederateHandleSet const & syncSet);
146 #endif
147 
149  virtual void synchronizationPointAchieved(
150  const char* label, bool successfully=true);
152 
154  virtual void testSaveProgress();
155 
158 
159 
160 #ifdef DtIFSPEC1516
161  virtual void requestFederationSave (char const * label,
163  rti1516::LogicalTime const * time=NULL);
165  virtual void queryFederationSaveStatus();
167  virtual void queryFederationRestoreStatus();
168 #elif defined(DtIFSPEC1516E)
169  virtual void requestFederationSave (char const * label,
171  rti1516e::LogicalTime const * time=NULL);
173  virtual void queryFederationSaveStatus();
175  virtual void queryFederationRestoreStatus();
177  virtual void abortFederationSave();
179  virtual void abortFederationRestore();
180 #else
181  virtual void requestFederationSave (char const * label,
183  RTI::FedTime const * time=NULL);
184 #endif
185  virtual void federateSaveBegun ();
188  virtual void federateSaveComplete ();
190  virtual void federateSaveNotComplete ();
192  virtual void requestFederationRestore ( const char *label);
194  virtual void federateRestoreComplete ();
196  virtual void federateRestoreNotComplete ();
198 
199  // Allow merging in lightweight connections
200  virtual void mergeFomModules( std::vector<MAKRti::DtString>* fomModules );
201 
202  virtual void addNonDuplicateFoms(std::vector<MAKRti::DtString>& fomModules, const std::vector<MAKRti::DtString>& fomModulesToAdd);
203 public:
204 
206  static DtFederateMgr* create(DtRIDParameters* params,
207  DtRtiAmbassadorBaseImplementor* ambImplPtr,
208  DtConnectionMgr* connMgr,
209  DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
210 
211 protected:
212 
213  std::map< DtString, std::vector< DtString > > myFederationsToCreateFomModulesMap;
214 
215 };
216 
217 #endif
218 
219 
220 
221 
222 
223 
224 
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:49
virtual void createFederationExecution(const char *executionName, const char *timeImplName, const char *fed)=0
Process the create federation execution service.
virtual void requestFederationSave(const char *label, const RTI::FedTime *time=NULL)=0
Process the requested federation save service.
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.
virtual RTI::FederateHandle joinFederationExecution(const char *yourName, const char *executionName, RTI::FederateAmbassador *federateAmbassadorReference, unsigned long flags)=0
Process the join federation execution service.
Definition: fedHandleSet.h:102
std::map< DtString, std::vector< DtString > > myFederationsToCreateFomModulesMap
Definition: simpFedMgr.h:213
virtual void federateSaveNotComplete()=0
Process the federate save not complete service.
virtual void federateSaveComplete()=0
Process the federate save complete service.
static DtFederateMgr * create(DtRIDParameters *params, DtRtiAmbassadorBaseImplementor *ambImplPtr, DtConnectionMgr *connMgr, DtBoost::shared_ptr< DtRtiAssistantLrcClient > assistantClient)
A Federate Manager instance is created, initialized, and its pointer is returned. ...
virtual void testSaveProgress()=0
Perform exception tests on save/restore state.
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:84
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:60
virtual void federateRestoreComplete()=0
Process the federate restore complete service.
Definition: FederateAmbassador.h:24
virtual void resignFederationExecution(RTI::ResignAction theAction)
Process the resign federation execution service.
DtFederateMgr & operator=(DtFederateMgr const &)
Assignment not implemented – Assignment Not Allowed!
Definition: VariableLengthData.h:22
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
virtual void destroyFederationExecution(const char *executionName)=0
Process the destroy federation execution service.
Definition: LogicalTime.h:27
virtual void federateRestoreNotComplete()=0
Process the federate restore not complete service.
virtual void registerFederationSynchronizationPoint(const char *label, const char *theTag)=0
Process the register federation synchronization point service.
This file contains the declaration of the base federation manager.
ResignAction
Definition: Enums.h:19

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)