BluezQt 5.109.0
job.h
1/*
2 * BluezQt - Asynchronous BlueZ wrapper library
3 *
4 * SPDX-FileCopyrightText: 2014 Alejandro Fiestas Olivares <afiestas@kde.org>
5 * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com>
6 *
7 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
8 */
9
10#ifndef BLUEZQT_JOB_H
11#define BLUEZQT_JOB_H
12
13#include <QObject>
14
15#include "bluezqt_export.h"
16
17namespace BluezQt
18{
19class JobPrivate;
20
44class BLUEZQT_EXPORT Job : public QObject
45{
46 Q_OBJECT
47 Q_PROPERTY(int error READ error)
48 Q_PROPERTY(QString errorText READ errorText)
49 Q_PROPERTY(bool running READ isRunning)
50 Q_PROPERTY(bool finished READ isFinished)
51
52public:
58 explicit Job(QObject *parent = nullptr);
59
63 ~Job() override;
64
70 enum Error {
72 NoError = 0,
74 UserDefinedError = 100
75 };
76 Q_ENUM(Error)
77
78
98 bool exec();
99
107 int error() const;
108
120 QString errorText() const;
121
127 bool isRunning() const;
128
134 bool isFinished() const;
135
136public Q_SLOTS:
145 void start();
146
155 void kill();
156
157protected Q_SLOTS:
167 virtual void doStart() = 0;
168
169protected:
189 void setError(int errorCode);
190
204 void setErrorText(const QString &errorText);
205
212 void emitResult();
213
220 virtual void doEmitResult() = 0;
221
222private:
223 JobPrivate *const d_ptr;
224
225 Q_DECLARE_PRIVATE(Job)
226};
227
228} // namespace BluezQt
229
230#endif // BLUEZQT_JOB_H
This class represents an asynchronous job performed by BluezQt, it is usually not used directly but i...
Definition job.h:45
Job(QObject *parent=nullptr)
Creates a new Job object.
~Job() override
Destroys a Job object.
Error
Error type.
Definition job.h:70