VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfobjcore
commModel.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2015 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
113
protected
:
115
virtual
DtVrfRadio
* findRadio(
const
DtUUID
&
object
,
int
radioId)
const
;
116
118
virtual
DtVrfRadio
* findRadio(
const
DtEntityIdentifier& entityId,
int
radioId)
const
;
119
125
virtual
void
deliverMessageToRecipients(
const
DtVrfObjectMessage
* message);
126
127
protected
:
128
static
DtCommModelFactory
*
theFactory
;
129
130
DtSimManager
*
mySimManager
;
131
const
DtCommModelDescriptor
*
myDescriptor
;
132
133
typedef
std::multimap<DtUUID, DtVrfRadio*>
DtRadioMap
;
134
DtRadioMap
myRadios
;
135
};
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)