File indexing completed on 2024-04-28 16:55:44
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 #include "access.h" 0016 #include "account.h" 0017 #include "appchooser.h" 0018 #include "background.h" 0019 #include "email.h" 0020 #include "filechooser.h" 0021 #include "inhibit.h" 0022 #include "notification.h" 0023 #include "print.h" 0024 #include "screenshot.h" 0025 #include "settings.h" 0026 #include "waylandintegration.h" 0027 0028 #include "remotedesktop.h" 0029 #include "screencast.h" 0030 0031 class DynamicLauncherPortal; 0032 0033 class DesktopPortal : public QObject, public QDBusContext 0034 { 0035 Q_OBJECT 0036 public: 0037 explicit DesktopPortal(QObject *parent = nullptr); 0038 ~DesktopPortal() override; 0039 0040 private: 0041 AccessPortal *const m_access; 0042 AccountPortal *const m_account; 0043 AppChooserPortal *const m_appChooser; 0044 BackgroundPortal *m_background = nullptr; 0045 EmailPortal *const m_email; 0046 FileChooserPortal *const m_fileChooser; 0047 InhibitPortal *const m_inhibit; 0048 NotificationPortal *const m_notification; 0049 PrintPortal *const m_print; 0050 ScreenshotPortal *m_screenshot = nullptr; 0051 SettingsPortal *const m_settings; 0052 ScreenCastPortal *m_screenCast = nullptr; 0053 RemoteDesktopPortal *m_remoteDesktop = nullptr; 0054 DynamicLauncherPortal *const m_dynamicLauncher; 0055 }; 0056 0057 #endif // XDG_DESKTOP_PORTAL_KDE_DESKTOP_PORTAL_H