MAK RTIspy API Documentation for HLA Evolved
messageCallbackManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: messageCallbackManager.h,v $ $Revision: 1.4 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef DtMessageCallbackManager_H_
10 #define DtMessageCallbackManager_H_
11 
16 
17 #include <list>
18 #include <map>
19 #include <vlutil/vlExceptions.h>
20 
21 
34 template <typename T_Message, typename T_MessageKind>
36 {
37 public:
38 
39  typedef void (*DtCallbackFcn)(const T_Message& msg, void* userData);
40 
41 protected:
42  //DDW: Would have liked to have used simple struct with named members here,
43  //but vc7 complained about missing a == operator in list remove operation
45  typedef std::pair<DtCallbackFcn, void*> DtCallbackInfo;
47  typedef std::list<DtCallbackInfo> DtCallbackList;
49  typedef std::map<T_MessageKind, DtCallbackList> DtCallbackMap;
50 
51 public:
52 
55 
58 
61 
64 
68  //
70  void addMsgCallback(T_MessageKind k,
71  DtCallbackFcn fcn, void* userData);
72 
74  void removeMsgCallback(T_MessageKind k,
75  DtCallbackFcn fcn, void* userData);
76 
79  void addWildcardMsgCallback(DtCallbackFcn fcn, void* userData);
80 
82  void removeWildcardMsgCallback(DtCallbackFcn fcn, void* userData);
83 
85  void processMsg(const T_Message& msg) const;
86 
88  int numCallbacks(T_MessageKind k);
89 
90 
91 protected:
92 
96 
99 
100 };
101 
103 
104 #endif
105 
106 

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)