VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedIffListDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
15 #include "reflectedObjectListDIS.h"
16 #include "reflectedIffDIS.h"
17 #include "globalObjectDesignator.h"
18 #include "vl/iffSystemHashKey.h"
19 #include <list>
20 
21 
22 class DtIffAtcNavaidsPdu;
23 
24 
29 {
30 
31 public:
32 
35 
37  virtual ~DtReflectedIffList();
38 
40  virtual DtReflectedIff* lookup(
41  const DtGlobalObjectDesignator& emittingEntity,
42  DtU16 systemType, DtU16 systemName, DtU8 systemDesignator) const;
43 
46  virtual DtReflectedIff* lookup(
47  const DtGlobalObjectDesignator& emittingEntity) const;
48 
50  virtual DtReflectedIff* first() const;
51  virtual DtReflectedIff* last() const;
52 
54  virtual void addIffAdditionCallback(
55  DtIffCallbackFunction cb, void* userData);
56  virtual void removeIffAdditionCallback(
57  DtIffCallbackFunction cb, void* userData);
58 
60  virtual void addEmitterAdditionCallback(
61  DtIffCallbackFunction cb, void* userData);
63  virtual void removeEmitterAdditionCallback(
64  DtIffCallbackFunction cb, void* userData);
65 
67  virtual void addIffRemovalCallback(
68  DtIffCallbackFunction cb, void* userData);
69  virtual void removeIffRemovalCallback(
70  DtIffCallbackFunction cb, void* userData);
71 
73  virtual void addEmitterRemovalCallback(
74  DtIffCallbackFunction cb, void* userData);
76  virtual void removeEmitterRemovalCallback(
77  DtIffCallbackFunction cb, void* userData);
78 
80  virtual void print();
81 
82 protected:
83 
86  const DtReflectedIffList& orig);
87 
90 
91 protected:
92 
94  virtual DtReflectedIff* newReflectedIff(
95  const DtGlobalObjectDesignator& emittingEntity,
96  DtU16 systemType, DtU16 systemName, DtU8 systemDesignator);
97 
99  virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
100 
102  virtual DtReflectedObject* processStateMessage(const DtStateMsg& msg);
103 
106  virtual void objectAdded(DtReflectedObject* obj);
107 
109  virtual const DtBaseHashKey&
110  hashKeyFromStateMessage(const DtStateMsg* msg);
111 
114  virtual void removeAndDelete(DtReflectedObject* obj,
115  char* msg = NULL);
116 protected:
117 
119  static void emIffCb(DtIffAtcNavaidsPdu* pdu, void* usr);
120 
121  DtIFFSystemHashKey *myHashKey;
122  std::map<const DtGlobalObjectDesignator, std::list<DtIFFSystemHashKey> > myIffHashMap;
123 
124 };
125 
126 #endif
127 
128 

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)