File indexing completed on 2024-04-28 05:36:49

0001 /*
0002  * SPDX-FileCopyrightText: 2016 Red Hat Inc
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  *
0006  * SPDX-FileCopyrightText: 2016 Jan Grulich <jgrulich@redhat.com>
0007  */
0008 
0009 #ifndef XDG_DESKTOP_PORTAL_KDE_DESKTOP_PORTAL_H
0010 #define XDG_DESKTOP_PORTAL_KDE_DESKTOP_PORTAL_H
0011 
0012 #include <QDBusContext>
0013 #include <QObject>
0014 
0015 class AccessPortal;
0016 class AccountPortal;
0017 class AppChooserPortal;
0018 class BackgroundPortal;
0019 class EmailPortal;
0020 class FileChooserPortal;
0021 class InhibitPortal;
0022 class NotificationPortal;
0023 class PrintPortal;
0024 class ScreenshotPortal;
0025 class SettingsPortal;
0026 class ScreenCastPortal;
0027 class RemoteDesktopPortal;
0028 class DynamicLauncherPortal;
0029 
0030 class DesktopPortal : public QObject, public QDBusContext
0031 {
0032     Q_OBJECT
0033 public:
0034     explicit DesktopPortal(QObject *parent = nullptr);
0035 
0036 private:
0037     AccessPortal *const m_access;
0038     AccountPortal *const m_account;
0039     AppChooserPortal *const m_appChooser;
0040     BackgroundPortal *m_background = nullptr;
0041     EmailPortal *const m_email;
0042     FileChooserPortal *const m_fileChooser;
0043     InhibitPortal *const m_inhibit;
0044     NotificationPortal *const m_notification;
0045     PrintPortal *const m_print;
0046     ScreenshotPortal *m_screenshot = nullptr;
0047     SettingsPortal *const m_settings;
0048     ScreenCastPortal *m_screenCast = nullptr;
0049     RemoteDesktopPortal *m_remoteDesktop = nullptr;
0050     DynamicLauncherPortal *const m_dynamicLauncher;
0051 };
0052 
0053 #endif // XDG_DESKTOP_PORTAL_KDE_DESKTOP_PORTAL_H