VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reflectedNavAidDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
7 
8 #pragma once
9 
10 #if DtDIS
11 
12 #include <vl/reflectedObjectDIS.h>
14 #include <vl/transmitterPdu.h>
15 #include <vl/globalObjectDesignator.h>
16 #include <vlutil/vlHashKeys.h>
17 
18 class DtExerciseConn;
19 class DtReflectedNavAid;
20 class DtNavAidDecoder;
21 
23 typedef void (*DtNavAidCallbackFunction) (DtReflectedNavAid* obj, void* userData);
24 
28 {
29 
30 public:
31 
33  typedef DtNavAidStateRepository* (*DtStateRepCreator)();
34 
36  typedef DtNavAidDecoder* (*DtDecoderCreator)(DtExerciseConn* conn);
37 
38 public:
39 
41  DtReflectedNavAid(DtExerciseConn* conn, const DtEntityIdentifier& id, int radioId);
42 
44  virtual ~DtReflectedNavAid() override;
45 
47  virtual DtNavAidStateRepository* navAidStateRep() const;
48 
50  virtual DtNavAidStateRepository* nasr() const;
51 
53  virtual DtStateRepository *stateRep() const override;
54 
57  virtual DtNavAidDecoder* decoder();
58 
60  virtual const DtEntityIdentifier& entityId() const;
61 
63  virtual const DtObjectId& id() const;
64 
66  virtual const DtObjectId& localId() const;
67 
70  virtual const DtGlobalObjectDesignator &globalId() const override;
71 
73  virtual int radioId() const;
74 
76  virtual void processStateMessage(const DtStateMsg &msg) override;
77 
79  virtual DtReflectedNavAid* next() const;
80  virtual DtReflectedNavAid* prev() const;
81 
83  virtual DtReflectedNavAid* wrapNext() const;
84  virtual DtReflectedNavAid* wrapPrev() const;
85 
87  virtual void addPostUpdateCallback(DtNavAidCallbackFunction cb, void* userData);
88  virtual void removePostUpdateCallback(DtNavAidCallbackFunction cb, void* userData);
89 
91  virtual const DtBaseHashKey &hashKey() const override;
92 
94  virtual DtString idString() const override;
95 
97  virtual void processNavAid(const DtTransmitterPdu& pdu);
98 
99 public:
100 
102  static void setStateRepCreator(DtStateRepCreator creator);
103  static DtStateRepCreator stateRepCreator();
104 
106  static void setDecoderCreator(DtDecoderCreator creator);
107 
108 protected:
109 
112 
114  DtReflectedNavAid& operator=(const DtReflectedNavAid& orig);
115 
116 protected:
117 
118  DtEntityIdentifier myId;
121  DtStringHashKey myHashKey;
123 
124 protected:
125 
126  static DtStateRepCreator theStateRepCreator;
127  static DtDecoderCreator theDecoderCreator;
128 
129 };
130 
131 inline int DtReflectedNavAid::radioId() const
132 {
133  return myStateRep->radioId();
134 }
135 
136 #endif
137 
Instances of DtNavAidStateRepository are used to store state data for NavAid radio transmitter object...
Definition: navAidStateRepository.h:19
Instances of DtNavAidDecoder encode data from DtNavAidStateRepository objects to the net structures t...
Definition: navAidDecoderDIS.h:23
DtNavAidDecoder * myDecoder
Definition: reflectedNavAidDIS.h:120
static DtStateRepCreator theStateRepCreator
Definition: reflectedNavAidDIS.h:126
virtual int radioId() const
Get the NavAids&#39;s radio ID.
Definition: reflectedNavAidDIS.h:131
DtStringHashKey myHashKey
Definition: reflectedNavAidDIS.h:121
The reflected object for a NavAid transmitter.
Definition: reflectedNavAidDIS.h:27
static DtDecoderCreator theDecoderCreator
Definition: reflectedNavAidDIS.h:127
DtEntityIdentifier myId
Definition: reflectedNavAidDIS.h:118
void(* DtNavAidCallbackFunction)(DtReflectedNavAid *obj, void *userData)
Callback function that takes a DtReflectedNavAid and usr data.
Definition: reflectedNavAidDIS.h:23
DtString myIdString
Definition: reflectedNavAidDIS.h:122
DtNavAidStateRepository * myStateRep
Definition: reflectedNavAidDIS.h:119
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)