MAK RTIspy API Documentation for HLA 1516
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
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 Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (
www.mak.com
)