OpenCoverage

qqmlthread_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/qml/ftw/qqmlthread_p.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtQml module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see https://www.qt.io/terms-conditions. For further-
15** information use the contact form at https://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#ifndef QQMLTHREAD_P_H-
41#define QQMLTHREAD_P_H-
42-
43//-
44// W A R N I N G-
45// --------------
46//-
47// This file is not part of the Qt API. It exists purely as an-
48// implementation detail. This header file may change from version to-
49// version without notice, or even be removed.-
50//-
51// We mean it.-
52//-
53-
54-
55#include <QtCore/qglobal.h>-
56-
57#include <private/qintrusivelist_p.h>-
58-
59QT_BEGIN_NAMESPACE-
60-
61class QThread;-
62class QMutex;-
63-
64class QQmlThreadPrivate;-
65class QQmlThread-
66{-
67public:-
68 QQmlThread();-
69 virtual ~QQmlThread();-
70-
71 void startup();-
72 void shutdown();-
73 bool isShutdown() const;-
74-
75 QMutex &mutex();-
76 void lock();-
77 void unlock();-
78 void wakeOne();-
79 void wakeAll();-
80 void wait();-
81-
82 QThread *thread() const;-
83 bool isThisThread() const;-
84-
85 // Synchronously invoke a method in the thread-
86 template<class O>-
87 inline void callMethodInThread(void (O::*Member)());-
88 template<typename T, class V, class O>-
89 inline void callMethodInThread(void (O::*Member)(V), const T &);-
90 template<typename T, typename T2, class V, class V2, class O>-
91 inline void callMethodInThread(void (O::*Member)(V, V2), const T &, const T2 &);-
92-
93 // Synchronously invoke a method in the main thread. If the main thread is-
94 // blocked in a callMethodInThread() call, the call is made from within that-
95 // call.-
96 template<class O>-
97 inline void callMethodInMain(void (O::*Member)());-
98 template<typename T, class V, class O>-
99 inline void callMethodInMain(void (O::*Member)(V), const T &);-
100 template<typename T, typename T2, class V, class V2, class O>-
101 inline void callMethodInMain(void (O::*Member)(V, V2), const T &, const T2 &);-
102-
103 // Asynchronously invoke a method in the thread.-
104 template<class O>-
105 inline void postMethodToThread(void (O::*Member)());-
106 template<typename T, class V, class O>-
107 inline void postMethodToThread(void (O::*Member)(V), const T &);-
108 template<typename T, typename T2, class V, class V2, class O>-
109 inline void postMethodToThread(void (O::*Member)(V, V2), const T &, const T2 &);-
110-
111 // Asynchronously invoke a method in the main thread.-
112 template<class O>-
113 inline void postMethodToMain(void (O::*Member)());-
114 template<typename T, class V, class O>-
115 inline void postMethodToMain(void (O::*Member)(V), const T &);-
116 template<typename T, typename T2, class V, class V2, class O>-
117 inline void postMethodToMain(void (O::*Member)(V, V2), const T &, const T2 &);-
118-
119 void waitForNextMessage();-
120-
121protected:-
122 virtual void startupThread();-
123 virtual void shutdownThread();-
124-
125private:-
126 friend class QQmlThreadPrivate;-
127-
128 struct Message {-
129 Message() : next(nullptr) {}
executed 117437 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
117437
130 virtual ~Message() {}-
131 Message *next;-
132 virtual void call(QQmlThread *) = 0;-
133 };-
134 void internalCallMethodInThread(Message *);-
135 void internalCallMethodInMain(Message *);-
136 void internalPostMethodToThread(Message *);-
137 void internalPostMethodToMain(Message *);-
138 QQmlThreadPrivate *d;-
139};-
140-
141template<class O>-
142void QQmlThread::callMethodInThread(void (O::*Member)())-
143{-
144 struct I : public Message {-
145 void (O::*Member)();-
146 I(void (O::*Member)()) : Member(Member) {}
never executed: end of block
0
147 void call(QQmlThread *thread) override {-
148 O *me = static_cast<O *>(thread);-
149 (me->*Member)();-
150 }
never executed: end of block
0
151 };-
152 internalCallMethodInThread(new I(Member));-
153}
never executed: end of block
0
154-
155template<typename T, class V, class O>-
156void QQmlThread::callMethodInThread(void (O::*Member)(V), const T &arg)-
157{-
158 struct I : public Message {-
159 void (O::*Member)(V);-
160 T arg;-
161 I(void (O::*Member)(V), const T &arg) : Member(Member), arg(arg) {}
executed 8500 times by 126 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • ...
8500
162 void call(QQmlThread *thread) override {-
163 O *me = static_cast<O *>(thread);-
164 (me->*Member)(arg);-
165 }
executed 8500 times by 126 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • ...
8500
166 };-
167 internalCallMethodInThread(new I(Member, arg));-
168}
executed 8500 times by 126 tests: end of block
Executed by:
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmlitemmodels
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • ...
8500
169-
170template<typename T, typename T2, class V, class V2, class O>-
171void QQmlThread::callMethodInThread(void (O::*Member)(V, V2), const T &arg, const T2 &arg2)-
172{-
173 struct I : public Message {-
174 void (O::*Member)(V, V2);-
175 T arg;-
176 T2 arg2;-
177 I(void (O::*Member)(V, V2), const T &arg, const T2 &arg2) : Member(Member), arg(arg), arg2(arg2) {}
executed 45777 times by 60 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlimport
  • tst_qqmllistmodel
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • tst_qqmlnativeconnector
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltimer
  • ...
45777
178 void call(QQmlThread *thread) override {-
179 O *me = static_cast<O *>(thread);-
180 (me->*Member)(arg, arg2);-
181 }
executed 45777 times by 60 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlimport
  • tst_qqmllistmodel
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • tst_qqmlnativeconnector
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltimer
  • ...
45777
182 };-
183 internalCallMethodInThread(new I(Member, arg, arg2));-
184}
executed 45777 times by 60 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_examples
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlcontext
  • tst_qqmlecmascript
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlimport
  • tst_qqmllistmodel
  • tst_qqmllistreference
  • tst_qqmllocale
  • tst_qqmlmoduleplugin
  • tst_qqmlnativeconnector
  • tst_qqmlnotifier
  • tst_qqmlproperty
  • tst_qqmlpropertymap
  • tst_qqmlqt
  • tst_qqmlsettings
  • tst_qqmlsqldatabase
  • tst_qqmltimer
  • ...
45777
185-
186template<class O>-
187void QQmlThread::callMethodInMain(void (O::*Member)())-
188{-
189 struct I : public Message {-
190 void (O::*Member)();-
191 I(void (O::*Member)()) : Member(Member) {}
never executed: end of block
0
192 void call(QQmlThread *thread) override {-
193 O *me = static_cast<O *>(thread);-
194 (me->*Member)();-
195 }
never executed: end of block
0
196 };-
197 internalCallMethodInMain(new I(Member));-
198}
never executed: end of block
0
199-
200template<typename T, class V, class O>-
201void QQmlThread::callMethodInMain(void (O::*Member)(V), const T &arg)-
202{-
203 struct I : public Message {-
204 void (O::*Member)(V);-
205 T arg;-
206 I(void (O::*Member)(V), const T &arg) : Member(Member), arg(arg) {}
never executed: end of block
0
207 void call(QQmlThread *thread) override {-
208 O *me = static_cast<O *>(thread);-
209 (me->*Member)(arg);-
210 }
never executed: end of block
0
211 };-
212 internalCallMethodInMain(new I(Member, arg));-
213}
never executed: end of block
0
214-
215template<typename T, typename T2, class V, class V2, class O>-
216void QQmlThread::callMethodInMain(void (O::*Member)(V, V2), const T &arg, const T2 &arg2)-
217{-
218 struct I : public Message {-
219 void (O::*Member)(V, V2);-
220 T arg;-
221 T2 arg2;-
222 I(void (O::*Member)(V, V2), const T &arg, const T2 &arg2) : Member(Member), arg(arg), arg2(arg2) {}
executed 7389 times by 135 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • ...
7389
223 void call(QQmlThread *thread) override {-
224 O *me = static_cast<O *>(thread);-
225 (me->*Member)(arg, arg2);-
226 }
executed 7389 times by 135 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • ...
7389
227 };-
228 internalCallMethodInMain(new I(Member, arg, arg2));-
229}
executed 7389 times by 135 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • tst_qqmllistmodel
  • tst_qqmllistmodelworkerscript
  • tst_qqmllistreference
  • ...
7389
230-
231template<class O>-
232void QQmlThread::postMethodToThread(void (O::*Member)())-
233{-
234 struct I : public Message {-
235 void (O::*Member)();-
236 I(void (O::*Member)()) : Member(Member) {}
never executed: end of block
0
237 void call(QQmlThread *thread) override {-
238 O *me = static_cast<O *>(thread);-
239 (me->*Member)();-
240 }
never executed: end of block
0
241 };-
242 internalPostMethodToThread(new I(Member));-
243}
never executed: end of block
0
244-
245template<typename T, class V, class O>-
246void QQmlThread::postMethodToThread(void (O::*Member)(V), const T &arg)-
247{-
248 struct I : public Message {-
249 void (O::*Member)(V);-
250 T arg;-
251 I(void (O::*Member)(V), const T &arg) : Member(Member), arg(arg) {}
executed 104 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlcomponent
  • tst_qqmlenginecleanup
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qquickloader
104
252 void call(QQmlThread *thread) override {-
253 O *me = static_cast<O *>(thread);-
254 (me->*Member)(arg);-
255 }
executed 104 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlcomponent
  • tst_qqmlenginecleanup
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qquickloader
104
256 };-
257 internalPostMethodToThread(new I(Member, arg));-
258}
executed 104 times by 8 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlcomponent
  • tst_qqmlenginecleanup
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qquickloader
104
259-
260template<typename T, typename T2, class V, class V2, class O>-
261void QQmlThread::postMethodToThread(void (O::*Member)(V, V2), const T &arg, const T2 &arg2)-
262{-
263 struct I : public Message {-
264 void (O::*Member)(V, V2);-
265 T arg;-
266 T2 arg2;-
267 I(void (O::*Member)(V, V2), const T &arg, const T2 &arg2) : Member(Member), arg(arg), arg2(arg2) {}
executed 6 times by 1 test: end of block
Executed by:
  • tst_qmlcachegen
6
268 void call(QQmlThread *thread) override {-
269 O *me = static_cast<O *>(thread);-
270 (me->*Member)(arg, arg2);-
271 }
executed 6 times by 1 test: end of block
Executed by:
  • tst_qmlcachegen
6
272 };-
273 internalPostMethodToThread(new I(Member, arg, arg2));-
274}
executed 6 times by 1 test: end of block
Executed by:
  • tst_qmlcachegen
6
275-
276template<class O>-
277void QQmlThread::postMethodToMain(void (O::*Member)())-
278{-
279 struct I : public Message {-
280 void (O::*Member)();-
281 I(void (O::*Member)()) : Member(Member) {}
never executed: end of block
0
282 void call(QQmlThread *thread) override {-
283 O *me = static_cast<O *>(thread);-
284 (me->*Member)();-
285 }
never executed: end of block
0
286 };-
287 internalPostMethodToMain(new I(Member));-
288}
never executed: end of block
0
289-
290template<typename T, class V, class O>-
291void QQmlThread::postMethodToMain(void (O::*Member)(V), const T &arg)-
292{-
293 struct I : public Message {-
294 void (O::*Member)(V);-
295 T arg;-
296 I(void (O::*Member)(V), const T &arg) : Member(Member), arg(arg) {}
executed 55543 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
55543
297 void call(QQmlThread *thread) override {-
298 O *me = static_cast<O *>(thread);-
299 (me->*Member)(arg);-
300 }
executed 55541 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
55541
301 };-
302 internalPostMethodToMain(new I(Member, arg));-
303}
executed 55543 times by 141 tests: end of block
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugjs
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • tst_qqmlenginedebugservice
  • tst_qqmlexpression
  • tst_qqmlfileselector
  • tst_qqmlimport
  • tst_qqmlincubator
  • tst_qqmlinfo
  • tst_qqmlinstantiator
  • ...
55543
304-
305template<typename T, typename T2, class V, class V2, class O>-
306void QQmlThread::postMethodToMain(void (O::*Member)(V, V2), const T &arg, const T2 &arg2)-
307{-
308 struct I : public Message {-
309 void (O::*Member)(V, V2);-
310 T arg;-
311 T2 arg2;-
312 I(void (O::*Member)(V, V2), const T &arg, const T2 &arg2) : Member(Member), arg(arg), arg2(arg2) {}
executed 118 times by 11 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlcomponent
  • tst_qqmlenginecleanup
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qquickanimatedimage
  • tst_qquickloader
  • tst_qquicktextedit
  • tst_qquicktextinput
118
313 void call(QQmlThread *thread) override {-
314 O *me = static_cast<O *>(thread);-
315 (me->*Member)(arg, arg2);-
316 }
executed 118 times by 11 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlcomponent
  • tst_qqmlenginecleanup
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qquickanimatedimage
  • tst_qquickloader
  • tst_qquicktextedit
  • tst_qquicktextinput
118
317 };-
318 internalPostMethodToMain(new I(Member, arg, arg2));-
319}
executed 118 times by 11 tests: end of block
Executed by:
  • tst_examples
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlcomponent
  • tst_qqmlenginecleanup
  • tst_qqmlqt
  • tst_qqmltypeloader
  • tst_qquickanimatedimage
  • tst_qquickloader
  • tst_qquicktextedit
  • tst_qquicktextinput
118
320-
321QT_END_NAMESPACE-
322-
323#endif // QQMLTHREAD_P_H-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0