VR-Forces 4.7 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
vrfobjcore
commModel.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2019 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
10
11
#pragma once
12
13
#include "
vrfobjcore/vrfobjcoreDefines.h
"
14
#include "
vrfutil/rwUUID.h
"
15
#include <vlpi/entityIdentifier.h>
16
#include "
tdbutil/stringKeyFactory.h
"
17
#include <map>
18
19
class
DtSimManager
;
20
class
DtCommModel
;
21
class
DtCommModelDescriptor
;
22
class
DtVrfRadio
;
23
class
DtVrfObjectMessage
;
24
class
DtVrfObject
;
25
27
struct
DtCommModelCreationParams
28
{
29
DtSimManager
*
simManager
;
30
const
DtCommModelDescriptor
*
commModelDescriptor
;
31
};
32
34
typedef
DtStringKeyFactoryWithParam<DtCommModel, DtCommModelCreationParams&>
DtCommModelFactory
;
35
38
typedef
DtCommModelFactory::DtCreatorFcn
DtCommModelCreatorFcn
;
39
41
const
int
DtRadioIdAny
= -1;
42
57
class
DT_DLL_vrfobjcore
DtCommModel
58
{
59
private
:
61
62
DtCommModel
();
63
DtCommModel
(
const
DtCommModel
& orig);
64
DtCommModel
& operator=(
const
DtCommModel
& orig);
66
67
protected
:
69
DtCommModel
(
DtCommModelCreationParams
& params);
71
virtual
bool
init
();
72
73
public
:
76
static
DtCommModel
* create(
DtCommModelCreationParams
& params);
77
78
virtual
~
DtCommModel
();
79
83
virtual
DtString
type()
const
;
84
88
virtual
void
registerRadio(
DtVrfRadio
* radio);
90
virtual
void
unregisterRadio(
DtVrfRadio
* radio);
91
97
virtual
void
sendMessage(
DtVrfObjectMessage
* message,
DtVrfRadio
* sendingRadio);
98
101
virtual
void
tick();
102
104
static
void
setFactory(
DtCommModelFactory
* factory);
106
static
DtCommModel
* createCommModel(
const
DtString
& typeString,
107
DtSimManager
* simManager,
const
DtCommModelDescriptor
* descriptor);
108
111
virtual
bool
publishTransmitters()
const
;
112
115
virtual
void
clearPendingRadioMessages();
116
117
protected
:
119
virtual
DtVrfRadio
* findRadio(
const
DtUUID
&
object
,
int
radioId)
const
;
120
122
virtual
DtVrfRadio
* findRadio(
const
DtEntityIdentifier& entityId,
int
radioId)
const
;
123
129
virtual
void
deliverMessageToRecipients(
const
DtVrfObjectMessage
* message);
130
131
protected
:
132
static
DtCommModelFactory
*
theFactory
;
133
134
DtSimManager
*
mySimManager
;
135
const
DtCommModelDescriptor
*
myDescriptor
;
136
137
typedef
std::multimap<DtUUID, DtVrfRadio*>
DtRadioMap
;
138
DtRadioMap
myRadios
;
139
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)