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