Albert
Loading...
Searching...
No Matches
asyncgeneratorqueryhandler.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/queryhandler.h
>
6
#include <memory>
7
#include <vector>
8
namespace
QCoro {
template
<
typename
T>
class
AsyncGenerator; }
9
10
namespace
albert
11
{
12
class
Item;
13
14
using
AsyncItemGenerator
= QCoro::AsyncGenerator<std::vector<std::shared_ptr<albert::Item>>>;
15
31
class
ALBERT_EXPORT
AsyncGeneratorQueryHandler
:
public
QueryHandler
32
{
33
public
:
41
virtual
AsyncItemGenerator
items
(
QueryContext
&context) = 0;
42
43
protected
:
45
~AsyncGeneratorQueryHandler
()
override
;
46
48
std::unique_ptr<QueryExecution>
execution
(
QueryContext
&context)
override
;
49
};
50
}
// namespace albert
albert::AsyncGeneratorQueryHandler
Coroutine-based asynchronous generator query handler.
Definition
asyncgeneratorqueryhandler.h:32
albert::AsyncGeneratorQueryHandler::items
virtual AsyncItemGenerator items(QueryContext &context)=0
Yields batches of items for context asynchronously and lazily.
albert::AsyncGeneratorQueryHandler::~AsyncGeneratorQueryHandler
~AsyncGeneratorQueryHandler() override
Destructs the handler.
albert::AsyncGeneratorQueryHandler::execution
std::unique_ptr< QueryExecution > execution(QueryContext &context) override
Returns an asynchronous generator query execution for context.
albert::QueryContext
Query interface.
Definition
querycontext.h:19
albert::QueryHandler
Base query handler interface for triggered queries.
Definition
queryhandler.h:33
albert
Definition
app.h:56
albert::AsyncItemGenerator
QCoro::AsyncGenerator< std::vector< std::shared_ptr< albert::Item > > > AsyncItemGenerator
Definition
asyncgeneratorqueryhandler.h:14
queryhandler.h
workspace
albert
include
albert
asyncgeneratorqueryhandler.h
Generated by
1.9.8