VR-Forces 4.3.1 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
externalCommModel.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2007 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: externalCommModel.h,v $ $Revision: 1.5 $ $State: Exp $
7
*******************************************************************************/
8
11
13
14
#ifndef externalCommModel_h
15
#define externalCommModel_h
16
17
#include <vl/globalObjectDesignator.h>
18
#include <map>
19
#include <deque>
20
#include "
vrfobjcore/commModel.h
"
21
#include "
vrfMsgTransport/externalCommsMessageTransporter.h
"
22
#include "
vrfobjcore/vrfobjcoreDefines.h
"
23
24
class
DtExternalCommModelDescriptor
;
25
26
class
DT_DLL_vrfobjcore
DtExternalCommModel
:
public
DtCommModel
27
{
28
private
:
30
31
DtExternalCommModel
();
32
DtExternalCommModel
(
const
DtExternalCommModel
& orig);
33
DtExternalCommModel
&
operator=
(
const
DtExternalCommModel
& orig);
35
36
protected
:
38
DtExternalCommModel
(
DtCommModelCreationParams
& params);
40
virtual
bool
init
();
41
42
public
:
45
static
DtCommModel
*
create
(
DtCommModelCreationParams
& params);
46
47
virtual
~
DtExternalCommModel
();
48
50
virtual
DtString
type
()
const
;
51
54
virtual
void
registerRadio
(
DtVrfRadio
* radio);
55
60
virtual
void
sendMessage
(
DtVrfObjectMessage
* message,
DtVrfRadio
* sendingRadio);
61
64
virtual
void
tick
();
65
66
protected
:
67
virtual
DtU32 nextMessageId(
const
DtEntityIdentifier& entityId);
68
70
virtual
void
passMessageToReceiver(
DtVrfObjectMessageConstPtr
,
const
DtEntityIdentifier& receiver);
71
72
static
void
messageClearToReceiveCallback(
const
DtExternalCommsProcessMessageData
& data,
void
* usr);
73
virtual
void
processMessageClearToReceive(
const
DtExternalCommsProcessMessageData
& data);
74
75
static
void
messageTimeoutCallback(
const
DtExternalCommsTimeoutData
& data,
void
* usr);
76
virtual
void
processMessageTimeout(
const
DtExternalCommsTimeoutData
& data);
77
78
static
void
newMessageCallback(
const
DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams
& params,
void
* usr);
79
virtual
void
processNewMessage(
const
DtExternalCommsMessageTransporter::DtExternalCommsMessageCallbackParams
& params);
80
81
static
void
readyToSendCallback(
const
DtExternalCommsReadyToSendData
& data,
void
* usr);
82
virtual
void
processReadyToSend(
const
DtExternalCommsReadyToSendData
& data);
83
84
protected
:
85
86
87
struct
DtClearToReceiveData
88
{
89
DtVrfObjectMessageConstPtr
myRadioMessage
;
90
DtEntityIdentifier
myReceiver
;
91
};
92
93
DtU32
myLastMessageId
;
94
95
typedef
std::map<DtU32, DtVrfObjectMessageConstPtr>
DtRadioMessageMap
;
98
DtRadioMessageMap
mySentMessages
;
99
DtExternalCommsMessageTransporter
*
myTransporter
;
100
103
typedef
std::deque<DtClearToReceiveData>
DtClearToReceiveDeque
;
104
DtClearToReceiveDeque
myClearToReceiveDeque
;
105
106
const
DtExternalCommModelDescriptor
*
myExternalCommModelDescriptor
;
107
110
typedef
std::map<DtU32, DtExternalCommsProcessMessageData>
DtExternalCommsMessageDataMap
;
111
DtExternalCommsMessageDataMap
myWaitingForMessageMap
;
112
115
typedef
std::map<DtU32, DtExternalCommsTimeoutData>
DtExternalCommsTimeoutMap
;
116
DtExternalCommsTimeoutMap
myTimedOutMessageMap
;
117
};
118
119
#endif
Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)