MAK RTIspy API Documentation for HLA Evolved
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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 Wed Mar 11 20:26:49 EDT 2015 from SVN revision 150939
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (
www.mak.com
)