VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
extendedAttributesInitializer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 #include <vlutil/vlString.h>
11 #include <vlutil/vlSmartPointers.h>
12 #include <vlutil/vlTime.h>
13 #include <vl/fom.h>
14 #include <boost/shared_ptr.hpp>
15 
16 #if DtHLA
17 #include <tbb/spin_mutex.h>
18 #endif
19 
20 class DtExerciseConn;
21 class DtObjClassDesc;
22 
23 #if DtHLA
24 typedef std::map<DtString, RTI::AttributeHandle> DtAttributeNameToHandleMap;
25 typedef boost::shared_ptr<DtAttributeNameToHandleMap> DtAttributeNameToHandleMapPtr;
26 typedef std::map<RTI::ObjectClassHandle, DtAttributeNameToHandleMapPtr> DtClassAttributeNameToHandleMap;
27 #endif
28 
33 {
34  public:
35 
38 
41 
44  virtual void initialize(DtExerciseConn* exConn);
45 
46 #if DtHLA
47 
48 
49  virtual void setObjectClassChooser(DtObjectClassChooserPtr chooser);
50 
54  virtual void addSupportedClass(const DtString& fullClassName, bool addSubclasses = false);
55 
58  virtual DtAttributeNameToHandleMapPtr attributeNameToHandleMap(
59  const RTI::ObjectClassHandle& classHdl) const;
60 
62  virtual void setAttributeNameToHandleMap(const RTI::ObjectClassHandle& classHdl,
64 
65  static tbb::spin_mutex& GlobalHLAMutex()
66  {
67  return theGlobalHLAMutex;
68  }
69 #endif
70 
71 protected:
72 
77 
80  virtual bool needsInitialization(DtExerciseConn* exConn);
81 
82 #if DtHLA
83 
84  virtual const DtString& publisherName() const = 0;
85 
87  virtual const DtString& reflectedListName() const = 0;
88 
90  virtual const DtString& defaultBaseObjectClass() const = 0;
91 
95  virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc) = 0;
96 #endif
97 
100  virtual void setPublisherStateRepCreator() = 0;
101 
104  virtual void setReflectedObjectStateRepCreator() = 0;
105 
107 
108 #if DtHLA
109 
110 
111 
112 
115  virtual bool areClassNamesEquivalent(const DtString&, const DtString&) const;
116 
119  virtual void addSupportedSubclasses(DtExerciseConn* exConn);
120 
122  virtual void initializeObjectClassChooser(DtExerciseConn* exConn);
123 
126  virtual void initializeObjectClasses(DtExerciseConn* exConn);
127 
130  virtual void initializeAttributes(DtObjClassDesc* desc);
131 
134  virtual void initializeExtendedAttributes(DtExerciseConn* exConn);
136 
137 #else
138 
140  virtual void initializeVariableRecordFactory(DtExerciseConn* exConn);
141 
142 #endif
143 
145 #if DtHLA
147  std::list<DtString> myFullBaseClassNames;
148  std::list<DtString> myFullClassNames;
149  static tbb::spin_mutex theGlobalHLAMutex;
151 
155 #endif
156 };
157 
158 typedef DtBoost::shared_ptr<DtExtendedAttributesInitializer> DtExtendedAttributesInitializerPtr;
159 
162 {
163 public:
164 
167 
170 
171 protected:
172 
174  virtual bool needsInitialization(DtExerciseConn* exConn);
175 
176 #if DtHLA
177 
178  virtual const DtString& publisherName() const;
179 
181  virtual const DtString& reflectedListName() const;
182 
184  virtual const DtString& defaultBaseObjectClass() const;
185 
189  virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc);
190 #endif
191 
194  virtual void setPublisherStateRepCreator();
195 
198  virtual void setReflectedObjectStateRepCreator();
199 
200 protected:
201 
202  static DtTime thePrevExConnInitTime;
203  static bool theExConnNeedsInit;
204 
205 };
206 
209 {
210 public:
211 
214 
217 
218 protected:
219 
221  virtual bool needsInitialization(DtExerciseConn* exConn);
222 
223 #if DtHLA
224 
225  virtual const DtString& publisherName() const;
226 
228  virtual const DtString& reflectedListName() const;
229 
231  virtual const DtString& defaultBaseObjectClass() const;
232 
236  virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc);
237 #endif
238 
241  virtual void setPublisherStateRepCreator();
242 
245  virtual void setReflectedObjectStateRepCreator();
246 
247 protected:
248 
249  static DtTime thePrevExConnInitTime;
250  static bool theExConnNeedsInit;
251 
252 };
253 
256 {
257 public:
258 
261 
264 
265 protected:
266 
268  virtual bool needsInitialization(DtExerciseConn* exConn);
269 
270 #if DtHLA
271 
272  virtual const DtString& publisherName() const;
273 
275  virtual const DtString& reflectedListName() const;
276 
278  virtual const DtString& defaultBaseObjectClass() const;
279 
283  virtual void setUnknownAttributeFunctions(DtObjClassDesc* desc);
284 #endif
285 
288  virtual void setPublisherStateRepCreator();
289 
292  virtual void setReflectedObjectStateRepCreator();
293 
294 protected:
295 
296  static DtTime thePrevExConnInitTime;
297  static bool theExConnNeedsInit;
298 
299 };
300 


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)