Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdarwinpermissionplugin_p.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QDARWINPERMISSIONPLUGIN_P_H
5#define QDARWINPERMISSIONPLUGIN_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. This header file may change
12// from version to version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <QtCore/qnamespace.h>
18#include <QtCore/private/qpermissions_p.h>
19#include <QtCore/private/qcore_mac_p.h>
20
21#if defined(__OBJC__)
22#include <Foundation/NSObject.h>
23#endif
24
25QT_USE_NAMESPACE
26
27using namespace QPermissions::Private;
28
29#if defined(__OBJC__)
30Q_CORE_EXPORT
31#endif
32QT_DECLARE_NAMESPACED_OBJC_INTERFACE(QDarwinPermissionHandler, NSObject
33- (Qt::PermissionStatus)checkPermission:(QPermission)permission;
34- (void)requestPermission:(QPermission)permission withCallback:(PermissionCallback)callback;
35- (QStringList)usageDescriptionsFor:(QPermission)permission;
36)
37
38QT_BEGIN_NAMESPACE
39
40class Q_CORE_EXPORT QDarwinPermissionPlugin : public QPermissionPlugin
41{
42 Q_OBJECT
43public:
44 QDarwinPermissionPlugin(QDarwinPermissionHandler *handler);
45 ~QDarwinPermissionPlugin();
46
47 Qt::PermissionStatus checkPermission(const QPermission &permission) override;
48 void requestPermission(const QPermission &permission, const PermissionCallback &callback) override;
49
50private:
51 Q_SLOT void permissionUpdated(Qt::PermissionStatus status, const PermissionCallback &callback);
52 bool verifyUsageDescriptions(const QPermission &permission);
53 QDarwinPermissionHandler *m_handler = nullptr;
54};
55
56QT_END_NAMESPACE
57
58#endif // QDARWINPERMISSIONPLUGIN_P_H
Combined button and popup list for selecting options.
QT_DECLARE_NAMESPACED_OBJC_INTERFACE(QMacAccessibilityElement, NSObject -(void) invalidate;) QT_BEGIN_NAMESPACE bool QAccessibleCache
QList< QString > QStringList
Constructs a string list that contains the given string, str.