5#ifndef QDARWINPERMISSIONPLUGIN_P_P_H
6#define QDARWINPERMISSIONPLUGIN_P_P_H
18#if !defined(QT_DARWIN_PERMISSION_PLUGIN)
19#error "This header should only be included from permission plugins"
22#include <QtCore/qnamespace.h>
23#include <QtCore/private/qpermissions_p.h>
24#include <QtCore/private/qcore_mac_p.h>
28using namespace QPermissions::Private;
31#define QT_JOIN_IMPL(A, B) A ## B
35#define PERMISSION_PLUGIN_NAME(SUFFIX)
37 QDarwin, QT_DARWIN_PERMISSION_PLUGIN), Permission), SUFFIX)
42QT_DECLARE_NAMESPACED_OBJC_INTERFACE(
44 QDarwinPermissionHandler
53 IID QPermissionPluginInterface_iid
54 FILE
"QDarwin" QT_STRINGIFY(QT_DARWIN_PERMISSION_PLUGIN)
"PermissionPlugin.json")
64#if defined(BUILDING_PERMISSION_REQUEST)
67extern "C" void QT_MANGLE_NAMESPACE(PERMISSION_PLUGIN_NAME(Request))() { }
73template <
typename NativeStatus>
74struct NativeStatusHelper;
76template <
typename NativeStatus>
77Qt::PermissionStatus nativeStatusToQtStatus(NativeStatus status)
79 using Converter = NativeStatusHelper<NativeStatus>;
81 case Converter::Authorized:
82 return Qt::PermissionStatus::Granted;
83 case Converter::Denied:
84 case Converter::Restricted:
85 return Qt::PermissionStatus::Denied;
86 case Converter::Undetermined:
87 return Qt::PermissionStatus::Undetermined;
89 qCWarning(lcPermissions) <<
"Unknown permission status" << status <<
"detected in"
90 << QT_STRINGIFY(QT_DARWIN_PERMISSION_PLUGIN);
91 return Qt::PermissionStatus::Denied;
95#define QT_DEFINE_PERMISSION_STATUS_CONVERTER(NativeStatus) namespace
97 NativeStatusHelper<NativeStatus> \
98{
100 Authorized = NativeStatus##Authorized,
101 Denied = NativeStatus##Denied,
102 Restricted = NativeStatus##Restricted,
103 Undetermined = NativeStatus##NotDetermined
105};}
QList< QString > QStringList
Constructs a string list that contains the given string, str.
#define PERMISSION_PLUGIN_HANDLER
#define QT_JOIN_IMPL(A, B)
#define PERMISSION_PLUGIN_CLASSNAME
#define PERMISSION_PLUGIN_NAME(SUFFIX)