MAK RTIspy API Documentation for HLA Evolved
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
libsrc
RTI
partnerMgr.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1998 MaK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
/*********************************************************************
6
** $RCSfile: partnerMgr.h,v $ $Revision: 1.3 $ $State: Exp $
7
*********************************************************************/
8
9
#ifndef partnerMgr_H_
10
#define partnerMgr_H_
11
12
#ifndef DtUNDOCUMENTED
13
16
17
#include "
rtiMsConfig.h
"
18
#include "
partnerFederateMsg.h
"
19
20
class
DtResignMsg
;
21
class
DtConnectionMgr
;
22
class
DtRtiMsg
;
23
24
enum
DtPartnerState
25
{
26
DtPartnerAccepting
,
27
DtPartnerPendingConfirm
,
28
DtPartnerConfirmed
29
};
30
34
class
DT_DLL_LRC
DtPartnerMgr
35
{
36
public
:
37
39
DtPartnerMgr
(
DtConnectionMgr
* connectMgr);
40
42
~
DtPartnerMgr
();
43
44
private
:
45
47
DtPartnerMgr
(
DtPartnerMgr
const
& );
48
50
DtPartnerMgr
& operator= (
DtPartnerMgr
const
& );
51
52
public
:
53
55
virtual
void
joinFederationExecution
(
56
const
char
* federateType,
57
const
char
* executionName,
58
const
char
* federateName,
59
unsigned
long
flags);
60
62
virtual
void
resign();
63
65
virtual
bool
acceptMessage(
const
DtRtiMsg
& msg );
66
67
protected
:
68
70
virtual
void
sendJoinMessage(MAKRti::DtString federateType,
71
MAKRti::DtString fedexName, MAKRti::DtString federateName);
72
74
virtual
void
sendPartnerMessage(
DtFederateHandle
partnerFederate,
DtPartnerResponse
response);
75
77
virtual
void
processOtherMessage(
DtRtiMsg
const
& msg);
78
80
virtual
void
processResignMessage(
const
DtResignMsg
& msg);
81
83
virtual
void
processPartnerMessage(
const
DtPartnerFederateMsg
& msg);
84
86
virtual
void
processPartnerAccept(
const
DtPartnerFederateMsg
& msg);
87
89
virtual
void
processPartnerConfirm(
const
DtPartnerFederateMsg
& msg);
90
92
virtual
void
processPartnerReject(
const
DtPartnerFederateMsg
& msg);
93
95
virtual
bool
partnerSlotAvailable()
const
;
96
98
virtual
bool
waitingForConfirm()
const
;
99
101
virtual
bool
isPartner(
DtFederateHandle
federate)
const
;
102
105
virtual
bool
isPending(
DtFederateHandle
federate)
const
;
106
109
virtual
bool
isConfirmed(
DtFederateHandle
federate)
const
;
110
112
virtual
void
acceptPartner(
DtFederateHandle
federate,
bool
confirmed =
false
);
113
115
virtual
void
confirmPartner(
DtFederateHandle
federate);
116
119
virtual
void
removePartner(
DtFederateHandle
federate);
120
123
virtual
void
removePendingPartner(
DtFederateHandle
federate);
124
127
virtual
void
removeConfirmedPartner(
DtFederateHandle
federate);
128
130
virtual
bool
isMe(
DtFederateHandle
federate)
const
;
131
133
virtual
DtFederateHandle
federateHandle()
const
;
134
135
protected
:
136
138
DtConnectionMgr
*
myConnectMgr
;
139
141
bool
myIsJoined
;
142
144
DtPartnerState
myPartnerState
;
145
147
std::vector<DtFederateHandle>
myPartners
;
148
150
std::vector<DtFederateHandle>
myPendingPartners
;
151
153
std::vector<DtFederateHandle>
myConfirmedPartners
;
154
156
DtFederateHandleStdSet
myFilteredFederates
;
157
};
158
159
#endif // DtUNDOCUMENTED
160
#endif // partnerMgr_H_
Document ID: Generated on Wed Mar 11 20:26:49 EDT 2015 from SVN revision 150939
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (
www.mak.com
)