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
rtiAssistantApp
assistantSignalRouter.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 2012 MaK Technologies, Inc.
3
** All rights reserved.
4
*********************************************************************/
5
6
#ifndef assistantSignalRouter_H_
7
#define assistantSignalRouter_H_
8
12
13
#include "
rtiMsConfig.h
"
14
#include "
assistantSignalIds.h
"
15
#include <vector>
16
#include <map>
17
#include <set>
18
19
class
QObject
;
20
class
DtSignalMappings
;
21
class
DtQueryMappings
;
22
29
class
DT_DLL_ASSISTANTAPP
DtAssistantSignalRouter
30
{
31
public
:
32
34
DtAssistantSignalRouter
();
35
37
~
DtAssistantSignalRouter
();
38
41
void
connectSignals();
42
44
void
registerSignal(
DtAssistantSignalId
sigId,
QObject
* obj,
45
const
char
* sig);
46
49
void
registerSlot(
DtAssistantSignalId
sigId,
QObject
* obj,
50
const
char
* slot);
51
55
void
registerQuery(
DtAssistantQueryId
queryId,
QObject
* obj,
56
const
char
* sig);
57
62
bool
registerQueryResponder(
DtAssistantQueryId
queryId,
QObject
* obj,
63
const
char
* slot);
64
66
void
printMappings();
67
68
private
:
69
71
DtAssistantSignalRouter
(
DtAssistantSignalRouter
const
& );
72
74
DtAssistantSignalRouter
& operator= (
DtAssistantSignalRouter
const
& );
75
76
protected
:
77
79
std::vector<DtSignalMappings>
mySignalMappings
;
80
82
std::vector<DtQueryMappings>
myQueryMappings
;
83
84
typedef
std::map<DtAssistantSignalId, const char*>
DtObjectSignalMap
;
85
typedef
std::map<DtAssistantQueryId, const char*>
DtObjectQueryMap
;
86
std::set<QObject*>
myMappedObjects
;
87
std::map<QObject*, DtObjectSignalMap>
myObjectSignalMappings
;
88
std::map<QObject*, DtObjectSignalMap>
myObjectSlotMappings
;
89
std::map<QObject*, DtObjectQueryMap>
myObjectQueryMappings
;
90
};
91
92
95
class
DtSignalInfo
96
{
97
public
:
98
100
DtSignalInfo
(
QObject
* o,
const
char
* s) :
101
obj
(o),
sig
(s) {}
102
104
DtSignalInfo
() :
105
obj
(0),
sig
(0) {}
106
108
~DtSignalInfo
() {}
109
110
QObject
*
object
() {
return
obj
; }
111
const
QObject
*
object
()
const
{
return
obj
; }
112
113
const
char
*
signal
()
const
{
return
sig
; }
114
const
char
*
slot
()
const
{
return
sig
; }
115
116
bool
isValid
()
const
{
return
(
obj
!= 0 &&
sig
!= 0); }
117
118
protected
:
119
QObject
*
obj
;
120
const
char
*
sig
;
121
};
122
126
typedef
DtSignalInfo
DtSlotInfo
;
127
130
class
DtSignalMappings
131
{
132
public
:
133
135
DtSignalMappings
() {
mySignals
.clear();
mySlots
.clear(); };
136
138
~DtSignalMappings
() {};
139
141
void
addSignal
(
QObject
* obj,
const
char
* sig)
142
{
143
mySignals
.push_back(
DtSignalInfo
(obj, sig));
144
}
145
147
void
addSlot
(
QObject
* obj,
const
char
* slt)
148
{
149
mySlots
.push_back(
DtSlotInfo
(obj, slt));
150
}
151
154
bool
connectSignals
();
155
156
protected
:
157
159
void
printOrphans
();
160
161
protected
:
162
163
std::vector<DtSignalInfo>
mySignals
;
164
std::vector<DtSlotInfo>
mySlots
;
165
};
166
169
class
DtQueryMappings
170
{
171
public
:
172
174
DtQueryMappings
() {};
175
177
~DtQueryMappings
() {};
178
180
void
addQuery
(
QObject
* obj,
const
char
* sig)
181
{
182
mySignals
.push_back(
DtSignalInfo
(obj, sig));
183
}
184
186
bool
setResponder
(
QObject
* obj,
const
char
* slt)
187
{
188
if
(
mySlot
.
isValid
())
189
{
190
return
false
;
191
}
192
mySlot
=
DtSlotInfo
(obj, slt);
193
return
true
;
194
}
195
198
bool
connectSignals
();
199
200
protected
:
201
203
void
printOrphans
();
204
205
protected
:
206
207
std::vector<DtSignalInfo>
mySignals
;
208
DtSlotInfo
mySlot
;
209
};
210
211
#endif //assistantSignalRouter_H_
212
Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (
www.mak.com
)