Files
2024-01-04 00:06:26 +01:00

36 lines
802 B
C++

#pragma once
#include <iostream>
#include <QtCore>
class WatchedLocker : public QMutexLocker {
public:
WatchedLocker(QMutex *mutex, bool show = false, const char *func = nullptr)
: QMutexLocker(mutex), showLock(show)
{
if (func) funcName = func;
if (showLock) {
std::cout << __FUNCTION__;
if (funcName.length()) {
std::cout << " : " << funcName;
}
std::cout << std::endl;
}
}
~WatchedLocker()
{
if (showLock) {
std::cout << __FUNCTION__;
if (funcName.length()) {
std::cout << " : " << funcName;
}
std::cout << std::endl;
}
}
protected:
std::string funcName;
bool showLock;
};