summaryrefslogtreecommitdiffstats
path: root/src/corelib/doc/snippets
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-07-29 12:10:34 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2021-07-30 14:46:55 +0300
commit72e5b36e2e4c79dc7995f0203968503266b4f2f5 (patch)
treef979859294d19d481abfce9f7cd29c8fd0ccafa4 /src/corelib/doc/snippets
parentb72fa182b4f08d0787ccdb62864cf4ae8a641205 (diff)
Remove app permission API from QCoreApplication
From the API review session, a potential deadlock behavior might occur when using QFuture's synchronous APIs on the UI thread. Also the fact that this api currently have an implementation only for Android. For those reasons we thought this API could be postponed until Qt 6.3, when the QFuture concern is addressed and other platforms other than Android are implemented as well. Pick-to: 6.2 Change-Id: I1aef025488c24791da85d15fb57367d3e5e681be Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/corelib/doc/snippets')
-rw-r--r--src/corelib/doc/snippets/permissions/permissions.cpp141
1 files changed, 0 insertions, 141 deletions
diff --git a/src/corelib/doc/snippets/permissions/permissions.cpp b/src/corelib/doc/snippets/permissions/permissions.cpp
deleted file mode 100644
index a2c05db423..0000000000
--- a/src/corelib/doc/snippets/permissions/permissions.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qdebug.h>
-#include <QtCore/qstring.h>
-
-void takeSelfie() {};
-
-void requestCameraPermissionAndroid()
-{
-//! [Request camera permission on Android]
- QCoreApplication::requestPermission(QStringLiteral("android.permission.CAMERA"))
- .then([=](QApplicationPermission::PermissionResult result) {
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
- });
-//! [Request camera permission on Android]
-}
-
-void requestCameraPermission()
-{
-//! [Request camera permission]
- QCoreApplication::requestPermission(QApplicationPermission::Camera)
- .then([=](QApplicationPermission::PermissionResult result) {
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
- });
-//! [Request camera permission]
-}
-
-void requestCameraPermissionSyncAndroid()
-{
-//! [Request camera permission sync on Android]
- auto future = QCoreApplication::requestPermission(QStringLiteral("android.permission.CAMERA"));
- auto result = future.result(); // blocks and waits for the result to be ready
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
-//! [Request camera permission sync on Android]
-}
-
-void requestCameraPermissionSync()
-{
-//! [Request camera permission sync]
- auto future = QCoreApplication::requestPermission(QApplicationPermission::Camera);
- auto result = future.result(); // blocks and waits for the result to be ready
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
-//! [Request camera permission sync]
-}
-
-void checkCameraPermissionAndroid()
-{
-//! [Check camera permission on Android]
- QCoreApplication::checkPermission(QStringLiteral("android.permission.CAMERA"))
- .then([=](QApplicationPermission::PermissionResult result) {
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
- });
-//! [Check camera permission on Android]
-}
-
-void checkCameraPermission()
-{
-//! [Check camera permission]
- QCoreApplication::checkPermission(QApplicationPermission::Camera)
- .then([=](QApplicationPermission::PermissionResult result) {
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
- });
-//! [Check camera permission]
-}
-
-void checkCameraPermissionAndroidSync()
-{
-//! [Check camera permission sync on Android]
- auto future = QCoreApplication::checkPermission(QStringLiteral("android.permission.CAMERA"));
- // may block and wait for the result to be ready on some platforms
- auto result = future.result();
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
-//! [Check camera permission sync on Android]
-}
-
-void checkCameraPermissionSync()
-{
-//! [Check camera permission sync]
- auto future = QCoreApplication::checkPermission(QApplicationPermission::Camera);
- // may block and wait for the result to be ready on some platforms
- auto result = future.result();
- if (result == QApplicationPermission::Authorized)
- takeSelfie();
-//! [Check camera permission sync]
-}