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 | * @class BluezQt::InitManagerJob initmanagerjob.h <BluezQt/InitManagerJob> |
23 | * |
24 | * Init manager job. |
25 | * |
26 | * This class represents a job that initializes Manager. |
27 | */ |
28 | class BLUEZQT_EXPORT InitManagerJob : public Job |
29 | { |
30 | Q_OBJECT |
31 | Q_PROPERTY(Manager *manager READ manager) |
32 | |
33 | public: |
34 | /** |
35 | * Destroys an InitManagerJob object. |
36 | */ |
37 | ~InitManagerJob() override; |
38 | |
39 | /** |
40 | * Returns a manager that is being initialized. |
41 | * |
42 | * @return manager |
43 | */ |
44 | Manager *manager() const; |
45 | |
46 | Q_SIGNALS: |
47 | /** |
48 | * Indicates that the job have finished. |
49 | */ |
50 | void result(InitManagerJob *job); |
51 | |
52 | private: |
53 | explicit InitManagerJob(Manager *manager); |
54 | |
55 | void doStart() override; |
56 | void doEmitResult() override; |
57 | |
58 | std::unique_ptr<class InitManagerJobPrivate> const d; |
59 | |
60 | friend class InitManagerJobPrivate; |
61 | friend class Manager; |
62 | }; |
63 | |
64 | } // namespace BluezQt |
65 | |
66 | #endif // BLUEZQT_INITMANAGERJOB_H |
67 | |