VR-Link API Documentation for DIS
 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-2023 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 
20 
22 typedef void (*DtIffPduCallbackFcn)(DtPdu* pdu, void* usr);
23 
24 
29 
31 {
32 public:
33 
36 
38  virtual ~DtIffPduCallbackManager();
39 
42 
45 
48  virtual void addPduCallback(DtIffInteractionType t,
49  DtPduCallbackFcn fcn, void* usr);
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 
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];
92  //std::vector<int> myCbIffListOrder;
93 };
94 
95 #endif
96 
97 
98 
void(* DtIffPduCallbackFcn)(DtPdu *pdu, void *usr)
PDU callback function signature.
Definition: iffPduCallbackManager.h:22
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file contains the declaration of DtList and DtListItem.
class DtIffPduCallbackManager:
Definition: iffPduCallbackManager.h:30
#define DtMAX_IFF_PDU_TYPE
Definition: iffPduCallbackManager.h:86
virtual void addPduCallback(DtPduKind k, DtPduCallbackFcn fcn, void *usr)
Add/Remove a function to be called when a particular PDU kind is received.
class DtPduCallbackInfo:
Definition: pduCallbackInfo.h:22
virtual void processPdu(const DtPdu &pdu)
Call the callbacks registered for the PDU&#39;s kind.
virtual int numCallbacks(DtPduKind k) const
Get the number of callbacks registered for the PDU kind.
virtual void removePduCallback(DtPduKind k, DtPduCallbackFcn fcn, void *usr)
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
DtTransmissionIndicator
Definition: disEnums.h:759
bool myCbRegistered
Definition: iffPduCallbackManager.h:91
DtExerciseConn * myExConn
Definition: iffPduCallbackManager.h:90
class DtPduCallbackManager:
Definition: pduCallbackManager.h:27
DtPduCallbackManager & operator=(const DtPduCallbackManager &orig)
assignment operator
void emptyList()
Empty the list.
void(* DtPduCallbackFcn)(DtPdu *pdu, void *usr)
PDU callback function signature.
Definition: pduCallbackManager.h:19
DtIffInteractionType
Definition: disEnums.h:2134
void copyList(const DtPduCallbackManager &orig)
Copy the list.

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)