MAK RTIspy API Documentation for HLA 1.3
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
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
17
class
QObject
;
18
class
DtSignalMappings
;
19
class
DtQueryMappings
;
20
27
class
DT_DLL_ASSISTANTAPP
DtAssistantSignalRouter
28
{
29
public
:
30
32
DtAssistantSignalRouter
();
33
35
~
DtAssistantSignalRouter
();
36
39
void
connectSignals();
40
42
void
registerSignal(
DtAssistantSignalId
sigId,
QObject
* obj,
43
const
char
* sig);
44
47
void
registerSlot(
DtAssistantSignalId
sigId,
QObject
* obj,
48
const
char
* slot);
49
53
void
registerQuery(
DtAssistantQueryId
queryId,
QObject
* obj,
54
const
char
* sig);
55
60
bool
registerQueryResponder(
DtAssistantQueryId
queryId,
QObject
* obj,
61
const
char
* slot);
62
63
private
:
64
66
DtAssistantSignalRouter
(
DtAssistantSignalRouter
const
& );
67
69
DtAssistantSignalRouter
& operator= (
DtAssistantSignalRouter
const
& );
70
71
protected
:
72
74
std::vector<DtSignalMappings>
mySignalMappings
;
75
77
std::vector<DtQueryMappings>
myQueryMappings
;
78
};
79
80
83
class
DtSignalInfo
84
{
85
public
:
86
88
DtSignalInfo
(
QObject
* o,
const
char
* s) :
89
obj
(o),
sig
(s) {}
90
92
DtSignalInfo
() :
93
obj
(0),
sig
(0) {}
94
96
~DtSignalInfo
() {}
97
98
QObject
*
object
() {
return
obj
; }
99
100
const
char
*
signal
() {
return
sig
; }
101
const
char
*
slot
() {
return
sig
; }
102
103
bool
isValid
() {
return
(
obj
!= 0 &&
sig
!= 0); }
104
105
protected
:
106
QObject
*
obj
;
107
const
char
*
sig
;
108
};
109
113
typedef
DtSignalInfo
DtSlotInfo
;
114
117
class
DtSignalMappings
118
{
119
public
:
120
122
DtSignalMappings
() {
mySignals
.clear();
mySlots
.clear(); };
123
125
~DtSignalMappings
() {};
126
128
void
addSignal
(
QObject
* obj,
const
char
* sig)
129
{
130
mySignals
.push_back(
DtSignalInfo
(obj, sig));
131
}
132
134
void
addSlot
(
QObject
* obj,
const
char
* slt)
135
{
136
mySlots
.push_back(
DtSlotInfo
(obj, slt));
137
}
138
141
bool
connectSignals
();
142
143
protected
:
144
145
std::vector<DtSignalInfo>
mySignals
;
146
std::vector<DtSlotInfo>
mySlots
;
147
};
148
151
class
DtQueryMappings
152
{
153
public
:
154
156
DtQueryMappings
() {};
157
159
~DtQueryMappings
() {};
160
162
void
addQuery
(
QObject
* obj,
const
char
* sig)
163
{
164
mySignals
.push_back(
DtSignalInfo
(obj, sig));
165
}
166
168
bool
setResponder
(
QObject
* obj,
const
char
* slt)
169
{
170
if
(
mySlot
.
isValid
())
171
{
172
return
false
;
173
}
174
mySlot
=
DtSlotInfo
(obj, slt);
175
return
true
;
176
}
177
180
bool
connectSignals
();
181
182
protected
:
183
184
std::vector<DtSignalInfo>
mySignals
;
185
DtSlotInfo
mySlot
;
186
};
187
188
#endif //assistantSignalRouter_H_
189
Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (
www.mak.com
)