Albert
Loading...
Searching...
No Matches
query.h
1// SPDX-FileCopyrightText: 2025 Manuel Schneider
2// SPDX-License-Identifier: MIT
3
4#pragma once
5#include <QString>
6#include <albert/export.h>
7#include <albert/querycontext.h>
8class QueryEngine;
9namespace albert
10{
11class QueryHandler;
12class QueryResult;
13class QueryResults;
14class QueryExecution;
15} // namespace albert
16
17namespace albert::detail
18{
19
21class ALBERT_EXPORT Query : public albert::QueryContext
22{
23public:
25 Query(UsageScoring usage_scoring,
26 std::vector<albert::QueryResult> &&fallbacks,
27 QueryHandler &handler,
28 QString trigger,
29 QString string);
30
32 ~Query();
33
35 bool isValid() const override;
36
38 QueryHandler &handler() const override;
39
41 QString trigger() const override;
42
44 QString query() const override;
45
47 const UsageScoring &usageScoring() const override;
48
50 QueryExecution &execution() const;
51
53 void cancel();
54
56 QueryResults &matches();
57
59 QueryResults &fallbacks();
60
61private:
62 class Private;
63 std::unique_ptr<Private> d;
64};
65
66} // namespace albert::detail
Query interface.
Definition querycontext.h:19
The Albert namespace.
Definition app.h:55