MAK RTIspy API Documentation for HLA 1516
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
libsrc
rtiutil
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>
35
class
DtMessageCallbackManager
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
54
DtMessageCallbackManager
();
55
57
DtMessageCallbackManager
(
const
DtMessageCallbackManager
& orig);
58
60
~DtMessageCallbackManager
();
61
63
DtMessageCallbackManager
&
operator=
(
const
DtMessageCallbackManager
& orig);
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
95
DtCallbackMap
myCallbacks
;
96
98
DtCallbackList
myWildcardCallbacks
;
99
100
};
101
102
#include "
messageCallbackManager.inl
"
103
104
#endif
105
106
Document ID: Generated on Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)