28
29
class OxideQStoragePermissionRequest;
29
30
class OxideQQuickWebContextDelegateWorker;
34
class WebContextDelegateWorkerHelperThreadController;
35
class WebContextDelegateWorkerUIThreadController;
37
class WebContextDelegateWorkerIOThreadController : public QObject {
38
namespace webcontextdelegateworker {
40
class HelperThreadController;
42
class IOThreadController Q_DECL_FINAL : public QObject {
41
WebContextDelegateWorkerIOThreadController();
42
virtual ~WebContextDelegateWorkerIOThreadController();
47
const QSharedPointer<HelperThreadController>& helper_thread_controller);
48
virtual ~IOThreadController();
45
51
void callEntryPointInWorker(const QString& entry, QObject* data);
54
QSharedPointer<HelperThreadController> ht_controller_;
51
class OxideQQuickWebContextDelegateWorkerPrivate Q_DECL_FINAL {
61
class OxideQQuickWebContextDelegateWorkerPrivate Q_DECL_FINAL :
53
66
~OxideQQuickWebContextDelegateWorkerPrivate();
55
68
static OxideQQuickWebContextDelegateWorkerPrivate* get(
56
69
OxideQQuickWebContextDelegateWorker* q);
58
QScopedPointer<oxide::qquick::WebContextDelegateWorkerIOThreadController>
71
QSharedPointer<oxide::qquick::webcontextdelegateworker::IOThreadController>
72
io_thread_controller() const { return io_thread_controller_; }
74
void incAttachedCount() { attached_count_++; }
75
bool decAttachedCount() {
76
Q_ASSERT(attached_count_ > 0);
77
return --attached_count_ == 0;
80
bool in_destruction() const { return in_destruction_; }
83
void runScript(const QUrl& source);
84
void sendMessage(const QVariant& message);
62
87
friend class OxideQQuickWebContextDelegateWorker;
69
oxide::qquick::WebContextDelegateWorkerHelperThreadController*
94
unsigned attached_count_;
97
QSharedPointer<oxide::qquick::webcontextdelegateworker::HelperThreadController>
70
98
helper_thread_controller_;
71
QScopedPointer<oxide::qquick::WebContextDelegateWorkerUIThreadController>
72
ui_thread_controller_;
99
QSharedPointer<oxide::qquick::webcontextdelegateworker::IOThreadController>
100
io_thread_controller_;
75
103
#endif // _OXIDE_QT_QUICK_API_WEB_CONTEXT_DELEGATE_WORKER_P_P_H_