VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iffPduCallbackManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 
9 
10 #if DtDIS
11 
12 #include <set>
13 #include <vlutil/vlList.h>
14 #include <vl/pdu.h>
15 #include <vl/pduCallbackManager.h>
16 //#include <vl/exerciseConnDIS.h>
17 
18 class DT_DLL_VL DtPduCallbackInfo;
20 
22 typedef void (*DtIffPduCallbackFcn)(DtPdu* pdu, void* usr);
23 
24 
29 
30 class DT_DLL_VL DtIffPduCallbackManager : public DtPduCallbackManager
31 {
32 public:
33 
35  DtIffPduCallbackManager(DtExerciseConn* conn);
36 
38  virtual ~DtIffPduCallbackManager();
39 
41  DtIffPduCallbackManager(const DtIffPduCallbackManager& orig);
42 
44  DtIffPduCallbackManager& operator=(const DtIffPduCallbackManager& orig);
45 
48  virtual void addPduCallback(DtIffInteractionType t,
49  DtPduCallbackFcn fcn, void* usr);
50  virtual void removePduCallback(DtIffInteractionType t,
51  DtPduCallbackFcn fcn, void* usr);
52 
55  //virtual DtIffInteractionType interactionTypeIndicator() const;
56  virtual DtIffInteractionType interactionType(DtTransmissionIndicator indicator) const;
57  //virtual void addInteractionToList(const DtIffInteractionType type);
58  //virtual bool isInterrogation() const;
59  //virtual bool isReply() const;
60  //virtual bool isSquitter() const;
61 
63  virtual void processPdu(const DtPdu& pdu);
64 
66  virtual int numCallbacks(DtIffInteractionType t) const;
67 
68 protected:
69 
71  virtual void addPduCallback(DtIffInteractionType t, DtPduCallbackInfo* info);
72  virtual void removePduCallback(DtIffInteractionType t, const DtPduCallbackInfo& info);
73 
74  static void iffPduCallbackFcn(DtPdu* pdu, void* usr);
75 
78  void emptyList();
79 
82  void copyList(const DtIffPduCallbackManager& orig);
83 
84 protected:
85 
86 #define DtMAX_IFF_PDU_TYPE 256
87  bool myProcessingCallbacksNow[DtMAX_IFF_PDU_TYPE];
88  std::set<DtPduCallbackInfo> myCbList[DtMAX_IFF_PDU_TYPE];
89  std::set<DtPduCallbackInfo> myRemovedCbList[DtMAX_IFF_PDU_TYPE];
90  DtExerciseConn* myExConn;
91  bool myCbRegistered;
92  //std::vector<int> myCbIffListOrder;
93 };
94 
95 #endif
96 
97 
98 
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file contains the declaration of DtList and DtListItem.
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
DtTransmissionIndicator
Definition: disEnums.h:775
DtIffInteractionType
Definition: disEnums.h:2160

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)