VR-Link API Documentation for HLA 1.3
 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 
16 class DT_DLL_VL DtPduCallbackInfo;
17 
19 typedef void (*DtPduCallbackFcn)(DtPdu* pdu, void* usr);
20 
25 
26 class DT_DLL_VL DtPduCallbackManager
27 {
28 public:
29 
31  DtPduCallbackManager();
32 
34  virtual ~DtPduCallbackManager();
35 
37  DtPduCallbackManager(const DtPduCallbackManager& orig);
38 
40  DtPduCallbackManager& operator=(const DtPduCallbackManager& orig);
41 
44  virtual void addPduCallback(DtPduKind k,
45  DtPduCallbackFcn fcn, void* usr);
46  virtual void removePduCallback(DtPduKind k,
47  DtPduCallbackFcn fcn, void* usr);
48 
50  virtual void processPdu(const DtPdu& pdu) const;
51 
53  virtual int numCallbacks(DtPduKind k) const;
54 
55 protected:
56 
58  virtual void addPduCallback(DtPduKind k, DtPduCallbackInfo* info);
59  virtual void removePduCallback(DtPduKind k, const DtPduCallbackInfo& info);
60 
63  void emptyList();
64 
67  void copyList(const DtPduCallbackManager& orig);
68 
69 protected:
70 
71 #define DtMAX_PDU_KINDS 256
72  std::set<DtPduCallbackInfo> myCbList[DtMAX_PDU_KINDS];
73 };
74 
75 #endif
76 
77 
78 

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)