VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pduCallbackManager.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 "pdu.h"
15 
17 
19 typedef void (*DtPduCallbackFcn)(DtPdu* pdu, void* usr);
20 
21 
26 
28 {
29 public:
30 
33 
35  virtual ~DtPduCallbackManager();
36 
39 
41  DtPduCallbackManager& operator=(const DtPduCallbackManager& orig);
42 
45  virtual void addPduCallback(DtPduKind k,
46  DtPduCallbackFcn fcn, void* usr);
47  virtual void removePduCallback(DtPduKind k,
48  DtPduCallbackFcn fcn, void* usr);
49 
50 
52  virtual void processPdu(const DtPdu& pdu);
53 
55  virtual int numCallbacks(DtPduKind k) const;
56 
57 protected:
58 
60  virtual void addPduCallback(DtPduKind k, DtPduCallbackInfo* info);
61  virtual void removePduCallback(DtPduKind k, const DtPduCallbackInfo& info);
62 
65  void emptyList();
66 
69  void copyList(const DtPduCallbackManager& orig);
70 
71 protected:
72 
73 #define DtMAX_PDU_KINDS 256
74  bool myProcessingCallbacksNow[DtMAX_PDU_KINDS];
75  std::set<DtPduCallbackInfo> myCbList[DtMAX_PDU_KINDS];
76  std::set<DtPduCallbackInfo> myRemovedCbList[DtMAX_PDU_KINDS];
77 };
78 
79 #endif
80 
81 
82 
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file contains the declaration of DtList and DtListItem.
class DtPduCallbackInfo:
Definition: pduCallbackInfo.h:22
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
class DtPduCallbackManager:
Definition: pduCallbackManager.h:27
void(* DtPduCallbackFcn)(DtPdu *pdu, void *usr)
PDU callback function signature.
Definition: pduCallbackManager.h:19
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
#define DtMAX_PDU_KINDS
Definition: pduCallbackManager.h:73

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)