summaryrefslogtreecommitdiffstats
path: root/src/core/desktop_media_controller_p.h
blob: 4bb3a6312f7fa6cf7bc9050c903fa761ece3fd6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#ifndef DESKTOP_MEDIA_CONTROLLER_P_H
#define DESKTOP_MEDIA_CONTROLLER_P_H

#include <QtCore/QObject>
#include <QtWebEngineCore/private/qtwebenginecoreglobal_p.h>

#include "content/public/browser/desktop_media_id.h"
#include "base/functional/callback.h"

namespace QtWebEngineCore {
class Q_WEBENGINECORE_EXPORT DesktopMediaControllerPrivate
{
public:
    DesktopMediaControllerPrivate(base::OnceCallback<void(content::DesktopMediaID)> doneCallback);
    void selectScreen(int index);
    void selectWindow(int index);
    void cancel();
    base::OnceCallback<void(content::DesktopMediaID)> doneCallback;
    QScopedPointer<DesktopMediaListQt> screens;
    QScopedPointer<DesktopMediaListQt> windows;
};

} // namespace QtWebEngineCore

#endif // DESKTOP_MEDIA_CONTROLLER_P_H