mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 11:48:09 +02:00
37 lines
1,017 B
C++
37 lines
1,017 B
C++
//
|
|
// ThreadHelpers.h
|
|
//
|
|
// Created by Bradley Austin Davis on 2015-04-04
|
|
// Copyright 2015 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
#pragma once
|
|
#ifndef hifi_ThreadHelpers_h
|
|
#define hifi_ThreadHelpers_h
|
|
|
|
#include <exception>
|
|
#include <functional>
|
|
|
|
#include <QtCore/QMutex>
|
|
#include <QtCore/QMutexLocker>
|
|
#include <QtCore/QObject>
|
|
#include <QtCore/QString>
|
|
#include <QtCore/QThread>
|
|
|
|
template <typename L, typename F>
|
|
void withLock(L lock, F function) {
|
|
throw std::exception();
|
|
}
|
|
|
|
template <typename F>
|
|
void withLock(QMutex& lock, F function) {
|
|
QMutexLocker locker(&lock);
|
|
function();
|
|
}
|
|
|
|
void moveToNewNamedThread(QObject* object, const QString& name, std::function<void()> startCallback, QThread::Priority priority = QThread::InheritPriority);
|
|
void moveToNewNamedThread(QObject* object, const QString& name, QThread::Priority priority = QThread::InheritPriority);
|
|
|
|
#endif
|