KWin
Loading...
Searching...
No Matches
transaction_p.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2023 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#pragma once
8
9#include "transaction.h"
10
11#include <QObject>
12#include <QSocketNotifier>
13
14namespace KWin
15{
16
17class TransactionDmaBufLocker : public QObject
18{
19 Q_OBJECT
20
21public:
23
24 void add(Transaction *transaction);
25
26private:
27 explicit TransactionDmaBufLocker(const DmaBufAttributes *attributes);
28
29 bool arm();
30
31 QList<Transaction *> m_transactions;
32 QList<QSocketNotifier *> m_pending;
33 std::vector<std::unique_ptr<QSocketNotifier>> m_notifiers;
34};
35
36} // namespace KWin
void add(Transaction *transaction)
static TransactionDmaBufLocker * get(GraphicsBuffer *buffer)