MAK RTIspy API Documentation for HLA 1.3
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
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 Tue May 7 16:26:47 EDT 2013 from SVN revision 126903
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)