QtUtil.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2011-2017, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5  *
6  * ArmarX is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * ArmarX is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * @package ArmarX
19  * @author Mirko Waechter( mirko.waechter at kit dot edu)
20  * @date 2018
21  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22  * GNU General Public License
23  */
24 #pragma once
26 /**
27  * Macro to check whether the current function is executed in the thread of the given Qt object.
28  * This object should be the object that is manipulated/read by the called function.
29  */
30 #define CHECK_QT_THREAD(qtObject) ARMARX_CHECK_EXPRESSION(qtObject!=nullptr); ARMARX_CHECK_EQUAL(qtObject->thread(), QThread::currentThread()) << \
31  "The current function is not called in the correct Qt Thread of the object (most of the time the main thread)!"
32 
33 #define CHECK_NOT_QT_THREAD(qtObject) ARMARX_CHECK_EXPRESSION(qtObject!=nullptr); ARMARX_CHECK_NOT_EQUAL(qtObject->thread(), QThread::currentThread()) << \
34  "The current function is called in the Qt Thread of the object (most of the time the main thread)! This function was declared to be not in the GUI thread."
ExpressionException.h