VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
commModel.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2007 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: commModel.h,v $ $Revision: 1.6 $ $State: Exp $
7
*******************************************************************************/
8
11
13
14
#ifndef commModel_h
15
#define commModel_h
16
17
#include "
vrfobjcore/vrfobjcoreDefines.h
"
18
#include "
tdbutil/stringKeyFactory.h
"
19
#include <map>
20
#include <vlpi/entityIdentifier.h>
21
22
class
DtSimManager
;
23
class
DtCommModel
;
24
class
DtCommModelDescriptor
;
25
class
DtVrfRadio
;
26
class
DtVrfObjectMessage
;
27
class
DtVrfObject
;
28
30
struct
DtCommModelCreationParams
31
{
32
DtSimManager
*
simManager
;
33
const
DtCommModelDescriptor
*
commModelDescriptor
;
34
};
35
37
typedef
DtStringKeyFactoryWithParam<DtCommModel, DtCommModelCreationParams&>
DtCommModelFactory
;
38
41
typedef
DtCommModelFactory::DtCreatorFcn
DtCommModelCreatorFcn
;
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
* findRadioByObjectName(
const
DtString
& objectName,
int
radioId)
const
;
116
118
virtual
DtVrfRadio
* findRadio(
const
DtEntityIdentifier& entityId,
int
radioId)
const
;
119
125
virtual
void
deliverMessageToRecipients(
const
DtVrfObjectMessage
* message);
126
129
virtual
bool
addressMatchesObject(
const
DtString
& addressText,
bool
addressIsEchelonId,
130
const
DtVrfObject
*
object
);
131
132
protected
:
133
static
DtCommModelFactory
*
theFactory
;
134
135
DtSimManager
*
mySimManager
;
136
const
DtCommModelDescriptor
*
myDescriptor
;
137
138
typedef
std::multimap<DtEntityIdentifier, DtVrfRadio*>
DtRadioMap
;
139
DtRadioMap
myRadios
;
140
};
141
142
#endif
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
)