diff options
Diffstat (limited to 'src/plugins/lipi-toolkit/plugin/lipiworker_p.h')
-rw-r--r-- | src/plugins/lipi-toolkit/plugin/lipiworker_p.h | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/src/plugins/lipi-toolkit/plugin/lipiworker_p.h b/src/plugins/lipi-toolkit/plugin/lipiworker_p.h deleted file mode 100644 index 098e198b..00000000 --- a/src/plugins/lipi-toolkit/plugin/lipiworker_p.h +++ /dev/null @@ -1,161 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LIPIWORKER_P_H -#define LIPIWORKER_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QThread> -#include <QSemaphore> -#include <QMutex> -#include <QStringList> -#include <QSharedPointer> -#include <QMap> - -#include "LTKTypes.h" -#include "LTKCaptureDevice.h" -#include "LTKScreenContext.h" -#include "LTKTraceGroup.h" -#include "LTKChannel.h" -#include "LTKTraceFormat.h" -#include "LTKTrace.h" -#include "LTKShapeRecognizer.h" -#include "LTKShapeRecoResult.h" - -QT_BEGIN_NAMESPACE -namespace QtVirtualKeyboard { - -class LipiTask : public QObject -{ - Q_OBJECT -public: - explicit LipiTask(QObject *parent = nullptr) : - QObject(parent), - shapeRecognizer(nullptr) - {} - - virtual void run() = 0; - - LTKShapeRecognizer *shapeRecognizer; -}; - -class LipiLoadModelDataTask : public LipiTask -{ - Q_OBJECT -public: - void run(); -}; - -class LipiRecognitionTask : public LipiTask -{ - Q_OBJECT -public: - explicit LipiRecognitionTask(const LTKCaptureDevice& deviceInfo, - const LTKScreenContext& screenContext, - const vector<int>& inSubsetOfClasses, - float confThreshold, - int numChoices, - int resultId); - - void run(); - bool cancelRecognition(); - int resultId() const; - - LTKTraceGroup traceGroup; - -private: - friend class LipiSharedRecognizer; - const QMap<int, QChar> unicodeMap; - const LTKCaptureDevice deviceInfo; - const LTKScreenContext screenContext; - const vector<int> inSubsetOfClasses; - const float confThreshold; - const int numChoices; - QSharedPointer<vector<LTKShapeRecoResult> > resultVector; - const int _resultId; - QMutex stateLock; - bool stateRunning; - bool stateCancelled; -}; - -class LipiRecognitionResultsTask : public LipiTask -{ - Q_OBJECT -public: - explicit LipiRecognitionResultsTask(QSharedPointer<vector<LTKShapeRecoResult> > resultVector, - const QMap<int, QChar> &unicodeMap, - int resultId); - - void run(); - -signals: - void resultsAvailable(const QVariantList &resultList); - -private: - QSharedPointer<vector<LTKShapeRecoResult> > resultVector; - const QMap<int, QChar> &unicodeMap; - const int _resultId; -}; - -class LipiWorker : public QThread -{ - Q_OBJECT -public: - explicit LipiWorker(LTKShapeRecognizer *shapeRecognizer, QObject *parent = nullptr); - ~LipiWorker(); - - void addTask(QSharedPointer<LipiTask> task); - int removeTask(QSharedPointer<LipiTask> task); - int removeAllTasks(); - -protected: - void run(); - -private: - QList<QSharedPointer<LipiTask> > taskList; - QSemaphore taskSema; - QMutex taskLock; - LTKShapeRecognizer *shapeRecognizer; - QBasicAtomicInt abort; -}; - -} // namespace QtVirtualKeyboard -QT_END_NAMESPACE - -#endif // LIPIWORKER_P_H |