VR-Forces 4.2 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
vrfObjectCommunicationInterface.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/msgExec.h
"
13
#include "
vrfobjcore/vrfobjcoreDefines.h
"
14
#include "
vrfmsgs/vrfObjectMessageExecutive.h
"
15
#include <list>
16
17
class
DtVrfObject
;
18
class
DtSimMessage
;
19
class
DtSimInternalCommunicationInterface
;
20
class
DtVrfObjectMessageExecutive
;
21
class
DtVrfRadio
;
22
class
DtRadioDescriptorList
;
23
37
class
DT_DLL_vrfobjcore
DtVrfObjectCommunicationInterface
38
{
39
private
:
41
DtVrfObjectCommunicationInterface
();
43
DtVrfObjectCommunicationInterface
(
const
DtVrfObjectCommunicationInterface
& orig);
45
DtVrfObjectCommunicationInterface
& operator=(
const
DtVrfObjectCommunicationInterface
& orig);
46
47
public
:
54
static
DtVrfObjectCommunicationInterface
* create(
DtVrfObject
* vrfObject);
55
56
protected
:
58
DtVrfObjectCommunicationInterface
(
DtVrfObject
* vrfObject);
60
virtual
bool
init
();
61
62
public
:
63
virtual
~
DtVrfObjectCommunicationInterface
();
66
virtual
void
createRadiosFromDescriptorList();
69
virtual
void
createRadiosFromDescriptorList(
const
DtRadioDescriptorList
& descList);
70
75
virtual
void
sendSimInternalMessage(
DtVrfObjectMessage
* message);
76
82
83
84
virtual
bool
sendRadioMessage(
const
DtString
& radioName,
DtVrfObjectMessage
* message);
88
virtual
bool
sendRadioMessage(
int
radioId,
DtVrfObjectMessage
* message);
91
virtual
bool
sendRadioMessage(
DtVrfObjectMessage
* message);
93
97
virtual
DtVrfRadio
* lookupRadio(
int
radioId);
100
virtual
DtVrfRadio
* lookupRadio(
const
DtString
& radioName);
103
virtual
DtVrfRadio
* defaultRadio();
104
109
DtSimInternalCommunicationInterface
* simInternalCommunicationInterface();
110
114
115
virtual
void
addMessageCallback(
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
116
virtual
void
removeMessageCallback(
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
118
122
123
template
<
typename
messageType>
124
void
addMessageCallback(
const
messageType& type,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr)
125
{
126
myMessageExecutive.addMessageCallback(type, fcn, usr);
127
}
128
129
template
<
typename
messageType>
130
void
removeMessageCallback(
const
messageType& type,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr)
131
{
132
myMessageExecutive.removeMessageCallback(type, fcn, usr);
133
}
135
136
142
143
virtual
void
addMessageCallbackByCategory(
int
category,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
144
virtual
void
removeMessageCallbackByCategory(
int
category,
DtVrfObjectMessageCallbackFcn
fcn,
void
* usr);
146
149
virtual
void
tick();
150
151
protected
:
152
155
156
static
void
vrfObjectMessageCallback(
const
DtVrfObjectMessage
* msg,
void
* usr);
157
virtual
void
processVrfObjectMessage(
const
DtVrfObjectMessage
* msg);
159
160
protected
:
161
DtVrfObject
*
myVrfObject
;
162
DtVrfObjectMessageExecutive
myMessageExecutive
;
163
DtSimInternalCommunicationInterface
*
mySimInternalInterface
;
164
165
typedef
std::map<DtSymbolString, DtVrfRadio*>
DtRadioMap
;
166
DtRadioMap
myRadios
;
167
DtVrfRadio
*
myDefaultRadio
;
168
};
169
Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)