Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qdarwinpermissionplugin_microphone.mm
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
#
include
"qdarwinpermissionplugin_p_p.h"
5
6
#
include
<
AVFoundation
/
AVFoundation
.
h
>
7
8
QT_DEFINE_PERMISSION_STATUS_CONVERTER
(AVAuthorizationStatus);
9
10
#
ifndef
BUILDING_PERMISSION_REQUEST
11
12
@implementation QDarwinMicrophonePermissionHandler
13
- (Qt::PermissionStatus)checkPermission:(QPermission)permission
14
{
15
const
auto
status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
16
return
nativeStatusToQtStatus(status);
17
}
18
19
- (
QStringList
)usageDescriptionsFor:(QPermission)permission
20
{
21
Q_UNUSED(permission);
22
return
{
"NSMicrophoneUsageDescription"
};
23
}
24
@end
25
26
#
include
"moc_qdarwinpermissionplugin_p_p.cpp"
27
28
#
else
// Building request
29
30
@implementation QDarwinMicrophonePermissionHandler (Request)
31
- (
void
)requestPermission:(QPermission)permission withCallback:(PermissionCallback)callback
32
{
33
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted)
34
{
35
Q_UNUSED(granted);
// We use status instead
36
const
auto
status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
37
callback(nativeStatusToQtStatus(status));
38
}];
39
}
40
@end
41
42
#
endif
// BUILDING_PERMISSION_REQUEST
QStringList
QList< QString > QStringList
Constructs a string list that contains the given string, str.
Definition
qcontainerfwd.h:41
QT_DEFINE_PERMISSION_STATUS_CONVERTER
#define QT_DEFINE_PERMISSION_STATUS_CONVERTER(NativeStatus)
qtbase
src
corelib
platform
darwin
qdarwinpermissionplugin_microphone.mm
Generated on
for Qt by
1.18.0