VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedAerodromeListDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 1992-2025 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 
11 #pragma once
12 
13 #if DtDIS
14 
19 
20 class DtExerciseConn;
21 class DtReflectedRunway;
22 
25 
27 {
28 
29 public:
30 
33 
35  virtual ~DtReflectedAerodromeList();
36 
37 private:
38 
41 
44 
45 public:
46  virtual DtReflectedAerodrome* first() const;
47  virtual DtReflectedAerodrome* last() const;
48 
50  virtual void addAerodromeAdditionCallback(
51  DtAerodromeStateCallbackFunction cb, void* userData);
52  virtual void removeAerodromeAdditionCallback(
53  DtAerodromeStateCallbackFunction cb, void* userData);
54 
56  virtual void addAerodromeRemovalCallback(
57  DtAerodromeStateCallbackFunction cb, void* userData);
58  virtual void removeAerodromeRemovalCallback(
59  DtAerodromeStateCallbackFunction cb, void* userData);
60 
62  virtual void print();
63 
64 
67  virtual DtReflectedAerodrome* processAerodromeState(
68  const DtAerodromePdu& pdu);
69 
71  virtual DtReflectedAerodrome* lookupByUuid(const DtVrlUuid& aerodromeUuid);
72 
73  virtual const DtReflectedRunwayList& runwayList() const { return myRunwayList; };
74 
75 protected:
76 
78  virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
79 
82 
85  virtual void objectAdded(DtReflectedObject* obj);
86 
89  virtual int acceptPdu(const DtStateMsg& msg) const;
90 
92  virtual const DtBaseHashKey&
94 
96  virtual DtReflectedAerodrome* newReflectedAerodrome() const;
97 
100  virtual void aerodromeAdded(DtReflectedAerodrome* agg);
101 
104  static void runwayAdditionCb(
105  DtReflectedRunway* runway, void* usr);
106  static void runwayUpdateCb(
107  DtReflectedRunway* runway, void* usr);
108  static void runwayRemovalCb(
109  DtReflectedRunway* runway, void* usr);
110 
111  virtual void processRunwayAddition(DtReflectedRunway* refRunway);
112 
113  virtual void processRunwayUpdate(DtReflectedRunway* refRunway);
114 
115  virtual void processRunwayRemoval(DtReflectedRunway* refRunway);
116 
118  static void resolveOrphansPostDrainCb(void* usr);
119 
121  void resolveOrphans();
122 
123 
124 
125 protected:
126 
128  static void aerodromeStateCb(DtAerodromePdu* pdu, void* usr);
129 protected:
130 
131  std::vector<DtReflectedRunway*> myOrphanRunways;
134 };
135 
136 #endif
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
virtual void print() const
Print the SRs of all objects.
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual const DtBaseHashKey & hashKeyFromStateMessage(const DtStateMsg *msg)=0
Get a hash key from a state message.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
virtual int acceptPdu(const DtStateMsg &) const
Determines if a PDU should be processed or not.
Definition: reflectedRunwayDIS.h:28
virtual const DtReflectedRunwayList & runwayList() const
Definition: reflectedAerodromeListDIS.h:73
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
std::vector< DtReflectedRunway * > myOrphanRunways
Definition: reflectedAerodromeListDIS.h:131
Instances of DtAerodromePdu are used for DIS network packets which encode the DtAerodromeStateReposit...
Definition: aerodromePdu.h:32
void(* DtAerodromeStateCallbackFunction)(DtReflectedAerodrome *obj, void *userData)
Definition: reflectedAerodromeDIS.h:24
This file declares DtEntityIdentifierHashKey.
Instances of this class provide a protocol independent interface to a list of Runways in a DIS enviro...
Definition: reflectedRunwayListDIS.h:24
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
A Universally Unique Identifier DtVrlUuid stores a 16byte encoded UUID string.
Definition: vlUuid.h:28
virtual DtReflectedObject * newReflectedObj(const DtStateMsg &msg)=0
Create a new object from a state message.
Definition: reflectedAerodromeDIS.h:28
Instances of this class provide a protocol independent interface to a list of Aerodromes in a DIS env...
Definition: reflectedAerodromeListDIS.h:26
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
DtEntityIdentifierHashKey myHashKey
Definition: reflectedAerodromeListDIS.h:133
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
virtual DtReflectedObject * processStateMessage(const DtStateMsg &msg)
Process an incoming state message.
DtReflectedRunwayList myRunwayList
Definition: reflectedAerodromeListDIS.h:132

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)