VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UUIDNetworkManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
12 
13 #pragma once
14 
16 #include <vlutil/vlString.h>
17 #include <boost/unordered_map.hpp>
18 #include <vl/globalObjectDesignator.h>
19 #include <vrfutil/rwUUID.h>
20 #include <string>
21 #include <cstdio>
22 
24 #if WIN32 && _MSC_VER == 1400
25 
26 #ifndef _INTPTR_T_DEFINED
27  #define _INTPTR_T_DEFINED
28  #ifdef _WIN64
29 typedef __int64 intptr_t;
30  #else /* _WIN64 */
31 typedef _W64 int intptr_t;
32  #endif /* _WIN64 */
33 #endif /* _INTPTR_T_DEFINED */
34 
35 #ifndef _UINTPTR_T_DEFINED
36  #define _UINTPTR_T_DEFINED
37  #ifdef _WIN64
38 typedef unsigned __int64 uintptr_t;
39  #else /* _WIN64 */
40 typedef _W64 unsigned int uintptr_t;
41  #endif /* _WIN64 */
42 #endif /* _UINTPTR_T_DEFINED */
43 
44 #else
45 #include <stdint.h>
46 #endif
47 
48 class DtExerciseConn;
52 
55 
58 
60 {
61 public:
62 
65 
67  virtual ~DtUUIDNetworkManager();
68 
78  virtual void init(DtExerciseConn* exConn,
79  DtReflectedExtEntityList* reel = NULL,
80  DtReflectedExtAggregateList* ral = NULL,
81  DtReflectedControlObjectList* rel = NULL,
82  const DtString& uuidMarkingForNonVrForces = "entity-identifier");
83 
87  virtual void reinitialize(
88  DtReflectedExtEntityList* reel = NULL,
89  DtReflectedExtAggregateList* ral = NULL,
90  DtReflectedControlObjectList* rel = NULL);
91 
94  virtual void setNonVrfUUIDResolver(DtNonVrfUUIDResolver*);
95  virtual DtNonVrfUUIDResolver* nonVrfUUIDResolver() const;
96 
97 protected:
99  virtual void initializeEntityList();
100  static void entityAddedCallback(DtReflectedExtEntity*, void* usr);
101  virtual void processEntityAdded(DtReflectedExtEntity*);
102  static void entityRemovedCallback(DtReflectedExtEntity*, void* usr);
103  virtual void processEntityRemoved(DtReflectedExtEntity*);
104  static void postEntityUpdateCallback(DtReflectedExtEntity*, void* usr);
105  virtual void processPostEntityUpdate(DtReflectedExtEntity*);
106 
107  virtual void initializeAggregateList();
108  static void aggregateAddedCallback(DtReflectedExtAggregate*, void* usr);
109  virtual void processAggregateAdded(DtReflectedExtAggregate*);
110  static void aggregateRemovedCallback(DtReflectedExtAggregate*, void* usr);
111  virtual void processAggregateRemoved(DtReflectedExtAggregate*);
112  static void postAggregateUpdateCallback(DtReflectedExtAggregate*, void* usr);
113  virtual void processPostAggregateUpdate(DtReflectedExtAggregate*);
114 
115  virtual void initializeControlObjectList();
116  static void controlObjectAddedCallback(DtReflectedControlObject*, void* usr);
117  virtual void processControlObjectAdded(DtReflectedControlObject*);
118  static void controlObjectRemovedCallback(DtReflectedControlObject*, void* usr);
119  virtual void processControlObjectRemoved(DtReflectedControlObject*);
120  static void postControlObjectUpdateCallback(DtReflectedControlObject*, void* usr);
121  virtual void processPostControlObjectUpdate(DtReflectedControlObject*);
122 
124  virtual void removeObject(const uintptr_t&);
125 
126 protected:
127  DtExerciseConn* myExerciseConnection;
130 
133 
136 
138 
139  typedef boost::unordered_map<uintptr_t, DtUUID> CurrentDataMap;
141 
142  typedef boost::unordered_map<uintptr_t, int> DataUpdateTrackerCount;
144 
147 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)