1 | /* |
2 | * BluezQt - Asynchronous BlueZ wrapper library |
3 | * |
4 | * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com> |
5 | * |
6 | * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | |
9 | #ifndef BLUEZQT_INITMANAGERJOB_H |
10 | #define BLUEZQT_INITMANAGERJOB_H |
11 | |
12 | #include "bluezqt_export.h" |
13 | #include "job.h" |
14 | |
15 | #include <memory> |
16 | |
17 | namespace BluezQt |
18 | { |
19 | class Manager; |
20 | |
21 | /*! |
22 | * \inmodule BluezQt |
23 | * \class BluezQt::InitManagerJob |
24 | * \inheaderfile BluezQt/InitManagerJob |
25 | * \brief Init manager job. |
26 | * |
27 | * This class represents a job that initializes Manager. |
28 | */ |
29 | class BLUEZQT_EXPORT InitManagerJob : public Job |
30 | { |
31 | Q_OBJECT |
32 | /*! \property BluezQt::InitManagerJob::manager */ |
33 | Q_PROPERTY(Manager *manager READ manager) |
34 | |
35 | public: |
36 | ~InitManagerJob() override; |
37 | |
38 | /*! |
39 | * Returns a manager that is being initialized. |
40 | */ |
41 | Manager *manager() const; |
42 | |
43 | Q_SIGNALS: |
44 | /*! |
45 | * Indicates that the \a job has finished. |
46 | */ |
47 | void result(InitManagerJob *job); |
48 | |
49 | private: |
50 | explicit InitManagerJob(Manager *manager); |
51 | |
52 | void doStart() override; |
53 | void doEmitResult() override; |
54 | |
55 | std::unique_ptr<class InitManagerJobPrivate> const d; |
56 | |
57 | friend class InitManagerJobPrivate; |
58 | friend class Manager; |
59 | }; |
60 | |
61 | } // namespace BluezQt |
62 | |
63 | #endif // BLUEZQT_INITMANAGERJOB_H |
64 | |