VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
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/globalObjDes.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 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
)