VR-Forces 4.6 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfmsgs
vrfObjectMessageExecutive.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2007 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
#pragma once
11
12
#include "
vrfmsgs/vrfmsgsDefines.h
"
13
#include "
vrfutil/noArgumentCallbackList.h
"
14
#include <map>
15
#include <vlutil/vlSmartPointers.h>
16
17
#include "
vrfmsgs/vrfObjectMessage.h
"
18
#include "
vrftasks/radioMessageTypes.h
"
19
#include <
vrfmsgs/vrfObjectMessageTypeCallbackMap.h
>
20
21
class
DtSimMessage
;
22
26
class
DT_DLL_vrfmsgs
DtVrfObjectMessageExecutive
27
{
28
private
:
30
DtVrfObjectMessageExecutive
(
const
DtVrfObjectMessageExecutive
& orig);
32
DtVrfObjectMessageExecutive
& operator=(
const
DtVrfObjectMessageExecutive
& orig);
33
34
public
:
35
DtVrfObjectMessageExecutive
();
36
virtual
~
DtVrfObjectMessageExecutive
();
37
40
virtual
void
processMessage(
const
DtVrfObjectMessage
* message);
41
44
45
virtual
void
addMessageCallback(
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
46
virtual
void
removeMessageCallback(
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
48
51
52
template
<
typename
messageType>
53
void
addMessageCallback(
const
messageType& type,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr)
54
{
55
myVrfObjectMessageCallbacks.addMessageCallback(type, fcn, usr);
56
}
57
58
template
<
typename
messageType>
59
void
removeMessageCallback(
const
messageType& type,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr)
60
{
61
myVrfObjectMessageCallbacks.removeMessageCallback(type, fcn, usr);
62
}
64
69
70
virtual
void
addMessageCallbackByCategory(
int
category,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
71
virtual
void
removeMessageCallbackByCategory(
int
category,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
73
75
virtual
void
removeAllCallbacks();
76
77
protected
:
78
typedef
DtCallbackList<const DtVrfObjectMessage*>
DtObjectMessageCallbackList
;
79
typedef
DtBoost::shared_ptr<DtObjectMessageCallbackList>
DtObjectMessageCallbackListPtr
;
80
typedef
std::map<int, DtObjectMessageCallbackListPtr>
DtObjectMessageCategoryCallbackMap
;
81
82
DtVrfObjectMessageTypeCallbackMap
myVrfObjectMessageCallbacks
;
84
DtObjectMessageCallbackList
myObjectMessageCallbacks
;
86
DtObjectMessageCategoryCallbackMap
myObjectMessageCallbacksByCategory
;
87
};
88
Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)