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-2010 VT MAK
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) const;
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  std::set<DtPduCallbackInfo> myCbList[DtMAX_PDU_KINDS];
75 };
76 
77 #endif
78 
79 
80 

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)