Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqmlprogresssupport_p.h
Go to the documentation of this file.
1
// Copyright (C) 2026 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QQMLPROGRESS_P_H
6
#
define
QQMLPROGRESS_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
"qlanguageserver_p.h"
20
#
include
"qqmlcodemodelmanager_p.h"
21
22
QT_BEGIN_NAMESPACE
23
24
class
QQmlProgressSupport
final
:
public
QLanguageServerModule
25
{
26
Q_OBJECT
27
public
:
28
QQmlProgressSupport
(
QmlLsp
::
QQmlCodeModelManager
*
manager
);
29
30
void
registerHandlers
(
QLanguageServer
*server, QLanguageServerProtocol *protocol)
final
;
31
void
setupCapabilities
(QLspSpecification::ServerCapabilities &caps)
final
;
32
33
private
:
34
enum
WorkDoneProgressStatus { InCreation, Created, Finished };
35
struct
UriWithToken
36
{
37
QByteArray uri;
38
int
token = -1;
39
WorkDoneProgressStatus status = InCreation;
40
};
41
42
class
Tokens
43
{
44
public
:
45
int
createUniqueToken(
const
QByteArray &uri);
46
void
removeToken(
const
QByteArray &uri);
47
UriWithToken *find(
const
QByteArray &uri);
48
std::optional<QQmlProgressSupport::UriWithToken> takeToken(
int
token);
49
50
private
:
51
QHash<QByteArray, UriWithToken> m_tokens;
52
QHash<
int
, QByteArray> m_uriByToken;
53
int
m_idForBackgroundBuilds = 0;
54
};
55
56
Tokens m_tokens;
57
QmlLsp
::
QQmlCodeModelManager
*m_codeModelManager =
nullptr
;
58
QLanguageServerProtocol *m_protocol =
nullptr
;
59
60
private
slots
:
61
void
onBackgroundBuildStarted
(
const
QByteArray
&
uri
);
62
void
onBackgroundBuildDone(
const
QByteArray &uri);
63
void
onBackgroundBuildCancelRequested(
64
const
QLspSpecification::Notifications::WorkDoneProgressCancelParamsType &p);
65
void
clientInitialized(
QLanguageServer
*server);
66
};
67
68
QT_END_NAMESPACE
69
70
#
endif
// QQMLPROGRESS_P_H
QLanguageServerModule
Definition
qlanguageserver_p.h:31
QLanguageServer
Implements a server for the language server protocol.
Definition
qlanguageserver_p.h:40
QQmlProgressSupport::setupCapabilities
void setupCapabilities(QLspSpecification::ServerCapabilities &caps) final
Definition
qqmlprogresssupport.cpp:158
QQmlProgressSupport::registerHandlers
void registerHandlers(QLanguageServer *server, QLanguageServerProtocol *protocol) final
Definition
qqmlprogresssupport.cpp:18
QQmlProgressSupport::QQmlProgressSupport
QQmlProgressSupport(QmlLsp::QQmlCodeModelManager *manager)
Definition
qqmlprogresssupport.cpp:13
QmlLsp::QQmlCodeModelManager
Definition
qqmlcodemodelmanager_p.h:44
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QmlLsp
Definition
qmllsmain.cpp:50
qtdeclarative
src
qmlls
qqmlprogresssupport_p.h
Generated on
for Qt by
1.18.0