VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
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/callbackList.h
"
14
#include <map>
15
#include <vlutil/vlSmartPointers.h>
16
17
#include "
vrfmsgs/vrfObjectMessage.h
"
18
#include "
vrftasks/radioMsgTypes.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 Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)