VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedIffListHLA.h
Go to the documentation of this file.
1 /***************************************************************
2  * Copyright (c) 1997 MaK Technologies, Inc.
3  * All rights reserved.
4  * **************************************************************/
5 
6 
7 
8 #ifndef reflectedIffListHLA_H_
9 #define reflectedIffListHLA_H_
10 
11 #if DtHLA
12 
13 #include "reflectedObjectListHLA.h"
14 #include "reflectedIffHLA.h"
15 #include <vl/iffDataReflected.h>
16 
21 
27 
29 {
30 public:
31 
33  DtReflectedIffList(DtExerciseConn* exConn, const DtDDMRegionSet* regionSetToUse = 0,
34  const DtString& updateRateTag = DtString(""));
35 
39  DtExerciseConn* exConn,
40  const DtList *handleList,
41  const DtDDMRegionSet* regionSetToUse = 0,
42  const DtString& updateRateTag = DtString(""));
43 
45  virtual ~DtReflectedIffList();
46 
48  virtual DtReflectedIff* lookup(
49 #if DtHLA_1516
50  RTI::ObjectInstanceHandle id);
51 #else
53 #endif
54 
56  virtual DtReflectedIff* lookup(const DtGlobalObjectDesignator& objName);
57 
59  virtual DtReflectedIff* first() const;
60  virtual DtReflectedIff* last() const;
61 
63  virtual void addIffAdditionCallback(
64  DtIffCallbackFunction cb, void* userData);
65  virtual void removeIffAdditionCallback(
66  DtIffCallbackFunction cb, void* userData);
67 
69  virtual void addIffRemovalCallback(
70  DtIffCallbackFunction cb, void* userData);
71  virtual void removeIffRemovalCallback(
72  DtIffCallbackFunction cb, void* userData);
73 
74 
75 protected:
76 
79 
82 
84  virtual const DtList* dfltHandleList();
85 
87  void initIffDataLists( DtExerciseConn* exConn,
88  const DtDDMRegionSet* regionSetToUse );
89 
92  virtual void objectAdded(DtReflectedObject* obj);
93 
98  virtual void iffAdded(DtReflectedIff* ent);
99 
102  virtual DtReflectedObject* newReflectedObject(DtHlaObject* obj) const;
103 
106  virtual DtReflectedObject* newReflectedIff(DtHlaObject* obj) const;
107 
110  virtual DtReflectedIff* newReflectedIff(
111  const DtGlobalObjectDesignator& des ) const;
112 
115  virtual void removeAndDelete(DtReflectedObject* object, char* msg);
116 
118  virtual void removeAndDelete(DtReflectedIff* entity, char* msg = NULL);
119 
126  virtual void processIffDataAddition( DtReflectedIFFData* data );
127  virtual void processIffDataUpdate( DtReflectedIFFData* data );
128  virtual void processIffDataRemoval( DtReflectedIFFData* data );
129 
130  virtual void processMode5TransponderDataAddition( DtReflectedMode5Transponder* data );
131  virtual void processMode5TransponderDataUpdate( DtReflectedMode5Transponder* data );
132  virtual void processMode5TransponderDataRemoval( DtReflectedMode5Transponder* data );
133 
134  virtual void processMode5InterrogatorDataAddition( DtReflectedMode5Interrogator* data );
135  virtual void processMode5InterrogatorDataUpdate( DtReflectedMode5Interrogator* data );
136  virtual void processMode5InterrogatorDataRemoval( DtReflectedMode5Interrogator* data );
137 
138  virtual void processModeSTransponderDataAddition( DtReflectedModeSTransponder* data );
139  virtual void processModeSTransponderDataUpdate( DtReflectedModeSTransponder* data );
140  virtual void processModeSTransponderDataRemoval( DtReflectedModeSTransponder* data );
141 
142  virtual void processModeSInterrogatorDataAddition( DtReflectedModeSInterrogator* data );
143  virtual void processModeSInterrogatorDataUpdate( DtReflectedModeSInterrogator* data );
144  virtual void processModeSInterrogatorDataRemoval( DtReflectedModeSInterrogator* data );
145 
148  virtual void resolveOrphans();
149  virtual void resolveIffDataOrphans();
150  virtual void resolveMode5TransponderOrphans();
151  virtual void resolveMode5InterrogatorOrphans();
152  virtual void resolveModeSTransponderOrphans();
153  virtual void resolveModeSInterrogatorOrphans();
154 
157  static void iffDataAdditionCb(
158  DtReflectedIFFData* data, void* usr );
159  static void iffDataUpdateCb(
160  DtReflectedIFFData* data, void* usr );
161  static void iffDataRemovalCb(
162  DtReflectedIFFData* data, void* usr );
163 
166  static void mode5TransponderDataAdditionCb(
167  DtReflectedMode5Transponder* data, void* usr );
168  static void mode5TransponderDataUpdateCb(
169  DtReflectedMode5Transponder* data, void* usr );
170  static void mode5TransponderDataRemovalCb(
171  DtReflectedMode5Transponder* data, void* usr );
172 
175  static void mode5InterrogatorDataAdditionCb(
176  DtReflectedMode5Interrogator* data, void* usr );
177  static void mode5InterrogatorDataUpdateCb(
178  DtReflectedMode5Interrogator* data, void* usr );
179  static void mode5InterrogatorDataRemovalCb(
180  DtReflectedMode5Interrogator* data, void* usr );
181 
184  static void modeSTransponderDataAdditionCb(
185  DtReflectedModeSTransponder* data, void* usr );
186  static void modeSTransponderDataUpdateCb(
187  DtReflectedModeSTransponder* data, void* usr );
188  static void modeSTransponderDataRemovalCb(
189  DtReflectedModeSTransponder* data, void* usr );
190 
193  static void modeSInterrogatorDataAdditionCb(
194  DtReflectedModeSInterrogator* data, void* usr );
195  static void modeSInterrogatorDataUpdateCb(
196  DtReflectedModeSInterrogator* data, void* usr );
197  static void modeSInterrogatorDataRemovalCb(
198  DtReflectedModeSInterrogator* data, void* usr );
199 
201  static void resolveOrphansPostDrainCb( void* usr );
202 
203 
210  //Lists for tracking orphaned IFF Data
211  std::list<DtReflectedIFFData*> myOrphanData;
212  std::list<DtReflectedMode5Transponder*> myMode5TransponderOrphanData;
213  std::list<DtReflectedModeSTransponder*> myModeSTransponderOrphanData;
214  std::list<DtReflectedMode5Interrogator*> myMode5InterrogatorOrphanData;
215  std::list<DtReflectedModeSInterrogator*> myModeSInterrogatorOrphanData;
216 };
217 
218 #endif
219 #endif
220 
class DtReflectedObjectList
Definition: reflectedObjectListHLA.h:36
Instances of DtReflectedMode5TransponderList manage a list of DtReflectedMode5Transponder objects...
Definition: iffDataReflected.h:2482
class DtReflectedIff:
Definition: reflectedIffHLA.h:32
Contains the HLA DtReflectedObjectList class declaration.
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
DtReflectedModeSInterrogatorList * myReflectedIffModeSInterrogatorList
Definition: reflectedIffListHLA.h:209
virtual DtReflectedObject * newReflectedObject(DtHlaObject *obj) const =0
Create a remote object object for the HLA object.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtReflectedIFFData are used to represent a simulated HLAobjectRoot.IFFData object reflec...
Definition: iffDataReflected.h:52
Instances of DtReflectedMode5InterrogatorList manage a list of DtReflectedMode5Interrogator objects...
Definition: iffDataReflected.h:2325
std::list< DtReflectedMode5Transponder * > myMode5TransponderOrphanData
Definition: reflectedIffListHLA.h:212
std::list< DtReflectedIFFData * > myOrphanData
Definition: reflectedIffListHLA.h:211
void(* DtIffCallbackFunction)(DtReflectedIff *obj, void *userData)
Definition: reflectedIffHLA.h:20
DtReflectedModeSTransponderList * myReflectedIffModeSTransponderList
Definition: reflectedIffListHLA.h:207
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
Instances of DtHlaObject are used to represent HLA objects which are communicated across the network...
Definition: hlaObject.h:56
DtList is deprecated, please use std::list&lt;T&gt;.
Definition: vlList.h:71
ObjectInstanceHandle ObjectHandle
Definition: rtiCompatibility.h:192
DtReflectedMode5TransponderList * myReflectedIffMode5TransponderList
Definition: reflectedIffListHLA.h:206
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
Instances of DtReflectedModeSTransponder are used to represent a simulated HLAobjectRoot.IFFData.ModeS.ModeSTransponder object reflected across a network.
Definition: iffDataReflected.h:3349
Instances of DtReflectedModeSInterrogator are used to represent a simulated HLAobjectRoot.IFFData.ModeS.ModeSInterrogator object reflected across a network.
Definition: iffDataReflected.h:3192
std::list< DtReflectedModeSTransponder * > myModeSTransponderOrphanData
Definition: reflectedIffListHLA.h:213
Instances of DtReflectedMode5Interrogator are used to represent a simulated HLAobjectRoot.IFFData.Mode5.Mode5Interrogator object reflected across a network.
Definition: iffDataReflected.h:2250
DtReflectedMode5InterrogatorList * myReflectedIffMode5InterrogatorList
Definition: reflectedIffListHLA.h:208
Instances of DtReflectedModeSInterrogatorList manage a list of DtReflectedModeSInterrogator objects...
Definition: iffDataReflected.h:3267
virtual void removeAndDelete(DtReflectedObject *obj, char *msg=NULL)
Remove the remote object from the list if found and delete it.
std::set< DtDDMRegionSP > DtDDMRegionSet
Definition: region1516.h:32
DtReflectedIFFDataList * myReflectedIffDataList
Internal reflected IFF Data list for subscribing and receiving IFF Data objects.
Definition: reflectedIffListHLA.h:205
Instances of DtReflectedMode5Transponder are used to represent a simulated HLAobjectRoot.IFFData.Mode5.Mode5Transponder object reflected across a network.
Definition: iffDataReflected.h:2407
An instance of this class manages the list of &quot;IFF&quot; objects that are simulated remotely, and reflected to us by the RTI.
Definition: reflectedIffListHLA.h:28
std::list< DtReflectedModeSInterrogator * > myModeSInterrogatorOrphanData
Definition: reflectedIffListHLA.h:215
virtual void objectAdded(DtReflectedObject *object)
Called from processDiscoverObject() after a remote object has been added to the list.
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Instances of DtReflectedModeSTransponderList manage a list of DtReflectedModeSTransponder objects...
Definition: iffDataReflected.h:3424
Instances of DtReflectedIFFDataList manage a list of DtReflectedIFFData objects.
Definition: iffDataReflected.h:127
This file provides a declaration of the class DtReflectedIff.
std::list< DtReflectedMode5Interrogator * > myMode5InterrogatorOrphanData
Definition: reflectedIffListHLA.h:214

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)