Albert
Loading...
Searching...
No Matches
queryhandler.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Manuel Schneider
2// SPDX-License-Identifier: MIT
3
4#pragma once
5#include <albert/export.h>
6#include <albert/extension.h>
8#include <memory>
9class QString;
10class QueryEngine;
11
12namespace albert
13{
14class QueryExecution;
15class QueryResults;
16
32class ALBERT_EXPORT QueryHandler : virtual public Extension
33{
34public:
42 virtual QString synopsis(const QString &query) const;
43
49 virtual bool allowTriggerRemap() const;
50
56 virtual QString defaultTrigger() const;
57
66 virtual bool supportsFuzzyMatching() const;
67
73 virtual std::unique_ptr<QueryExecution> execution(QueryContext &context) = 0;
74
75protected:
77 ~QueryHandler() override;
78
86 virtual void setFuzzyMatching(bool enabled);
87
95 virtual void setTrigger(const QString &trigger);
96
97 friend class ::QueryEngine;
98};
99
100}
Abstract extension class.
Definition extension.h:19
Query interface.
Definition querycontext.h:19
Base query handler interface for triggered queries.
Definition queryhandler.h:33
virtual bool allowTriggerRemap() const
Returns true if the user is allowed to set a custom trigger, otherwise returns false.
virtual std::unique_ptr< QueryExecution > execution(QueryContext &context)=0
Creates a query execution for the given context.
virtual void setFuzzyMatching(bool enabled)
Sets the fuzzy matching mode to enabled.
virtual QString defaultTrigger() const
Returns the default trigger.
virtual void setTrigger(const QString &trigger)
Notifies that the user-defined trigger has changed to trigger.
virtual QString synopsis(const QString &query) const
Returns the input hint for the given query.
virtual bool supportsFuzzyMatching() const
Returns true if the handler supports fuzzy matching, otherwise returns false.
~QueryHandler() override
Destructs the handler.
Definition app.h:56